首页 > Web开发 > 详细

[Cubieboard] 在Cubieboard上安装Node.js和npm

时间:2014-05-26 17:13:50      阅读:399      评论:0      收藏:0      [点我收藏+]

你有两个选择可以实现在Cubieboard上安装NodeJS,下载别人已经编译完成适用于Cubieboard的NodeJS二进制包,或者自己下载源码自行在Cubieboard上进行编译。

 

使用编译完成的二进制包

在这里下载适用于ARM架构的Node.js,如果在Cubieboard社区找不到相关资源,可以在RaspberryPi社区寻找相近的资源。例如在《Node.js installation for Raspberry Pi》一文中提供了最新的适用于RaspberryPi的Node.js可执行包下载,这里同样了提供了可执行二进制包下载,但要注意它们所针对的RaspberryPi所使用的芯片,未必适合于Cubieboard2,但值得尝试一下,拓展一下思路。

 

从源码包编译安装Node.js

(本文以BeagleBone为例)

相比于常见的使用Cross-complie来编译适用于ARM架构的可执行包,你也可以在Cubieboard(原文是在BeagleBone上编译,本文是在Cubieboard的Lubuntu上进行编译)上直接编译,但这样做会消耗更长的一点时间。

Compile和Install操作时请使用sudo或者su切换到root权限。

 

第一步:准备工作

首先你需要一个编译器来编译NodeJS源码。Build过程需要Python来处理一些配置文件,另外需要GCC来处理真正的源代码。

# apt-get install python
# apt-get install build-essential

 

第二步:下载Node源代码

从Node.js官网下载最新的源代码。截至本文落笔时最新的NodeJS版本为0.10.28(原文为0.10.5)。本文直接将源码包解压至当前文件夹,你可以使用-C <path>选项来指定解压路径。

# wget http://nodejs.org/dist/v0.10.28/node-v0.10.28.tar.gz
# tar xzvf node-v0.10.28.tar.gz

 

第三步:配置

截至原文落笔时,Google的V8引擎Snapshot功能会导致Node发生segmentation fault。Snapshotting可以帮助Node以更快的速度启动,但这不是一个很重要的特性,因此编译时可以忽略它。

# cd node-v0.10.28
# ./configure --without-snapshot

打印的配置结果:

bubuko.com,布布扣
{ ‘target_defaults‘: { ‘cflags‘: [],
                       ‘default_configuration‘: ‘Release‘,
                       ‘defines‘: [],
                       ‘include_dirs‘: [],
                       ‘libraries‘: []},
  ‘variables‘: { ‘arm_fpu‘: ‘vfpv3‘,
                 ‘arm_neon‘: 0,
                 ‘armv7‘: 1,
                 ‘clang‘: 0,
                 ‘gcc_version‘: 46,
                 ‘host_arch‘: ‘arm‘,
                 ‘node_install_npm‘: ‘true‘,
                 ‘node_prefix‘: ‘‘,
                 ‘node_shared_cares‘: ‘false‘,
                 ‘node_shared_http_parser‘: ‘false‘,
                 ‘node_shared_libuv‘: ‘false‘,
                 ‘node_shared_openssl‘: ‘false‘,
                 ‘node_shared_v8‘: ‘false‘,
                 ‘node_shared_zlib‘: ‘false‘,
                 ‘node_tag‘: ‘‘,
                 ‘node_unsafe_optimizations‘: 0,
                 ‘node_use_dtrace‘: ‘false‘,
                 ‘node_use_etw‘: ‘false‘,
                 ‘node_use_openssl‘: ‘true‘,
                 ‘node_use_perfctr‘: ‘false‘,
                 ‘node_use_systemtap‘: ‘false‘,
                 ‘python‘: ‘/usr/bin/python‘,
                 ‘target_arch‘: ‘arm‘,
                 ‘v8_enable_gdbjit‘: 0,
                 ‘v8_no_strict_aliasing‘: 1,
                 ‘v8_use_arm_eabi_hardfloat‘: ‘true‘,
                 ‘v8_use_snapshot‘: ‘false‘}}
creating  ./config.gypi
creating  ./config.mk
bubuko.com,布布扣

 

第四步:编译

开始编译,编译时间大概在30-40分钟左右吧。

# make

 

第五步:确认编译是否成功

当Build完成时,我们可以确认一下编译是否成功,然后再进行安装。

# ./node -e ‘console.log("hello, world");‘
# ./node -v

本文确认结果为可以正确打印Node版本号,但不能执行node命令,同样状况出现在npm身上。

 

第六步:安装

# make install

 

如果已经安装了,可以使用make uninstall进行卸载。

 

结束语

由于本次在Cubieboard上进行的natively compile没有成功,最后还是使用了"Node.js installation for Raspberry Pi"一文中所提供的预编译文件在Cubieboard2上成功安装了NodeJS-0.10.28及npm-1.4.9。

1. 下载安装包

$ wget http://node-arm.herokuapp.com/node_latest_armhf.deb

本文落笔时NodeJS最新版本为0.10.28,因此下载了该版本。

 

2. 安装

$ sudo dpkg -i node_0.10.28-1_armhf.deb 
Selecting previously unselected package node.
(Reading database ... 165570 files and directories currently installed.)
Unpacking node (from node_0.10.28-1_armhf.deb) ...
Setting up node (0.10.28-1) ...
Processing triggers for man-db ...

 

3. 验证

$ node -e ‘console.log("hello, world");‘
hello, world
$ node -v
v0.10.28
$ npm -v
1.4.9

 

 

参考:Node.js for the BeagleBone Black

 

 

 

[Cubieboard] 在Cubieboard上安装Node.js和npm,布布扣,bubuko.com

[Cubieboard] 在Cubieboard上安装Node.js和npm

原文:http://www.cnblogs.com/ifantastic/p/3751322.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!