Cubieboard编译安装NodeJS经验总结

Cubieboard编译安装NodeJS经验总结,以供新手免走弯路。

Cubieboad用的是arm处理器,NodeJs的编译安装上不像pc上那么简单,可以一遍过。

单单make编译一次,就得几乎一个小时的时间。我是折腾了4,5次才彻底搞好。

先说一下,我的是A20的板子,v1.04-beta1,的系统! 8Gtf卡!安装的最新node-v0.10.15版。

http://cubiebook.org/index.php?title=Cubieboard2/Lubuntu_12.04_Desktop

要点有以下几点,

1,最好用root帐号操作,比在操作前加sudo靠谱,如何开启root帐号可以下后面的备注。

  1. 先解除root锁定,为root用户设置密码
  2. #sudo passwd
  3. Password:<---------输入当前用户密码
  4. Enter new UNIX password:<------输入root帐号密码
  5. Retype new UNIX password:<------重复新的root用户密码
  6. pwsswd:已成功更新密码,启用root帐号
复制代码

2,要把node-v0.10.15压缩包下载到nand上,不要下载到mount挂载的tf卡上。

  1. root@cubieboard2:/# cd /home/linaro/Downloads/
  2. root@cubieboard2:/home/linaro/Downloads# wget http://www.nodejs.org/dist/v0.10.15/node-v0.10.15.tar.gz
复制代码

进入 Downloads目录,下载http://www.nodejs.org/dist/v0.10.15/node-v0.10.15.tar.gz,

下载成功后:

  1. #tar -xzvf node-v0.10.15.tar.gz
  2. #cd node-v0.10.15
  3. #./configure --without-snapshot
复制代码

#tar -xzvf node-v0.10.15.tar.gz

#cd node-v0.10.15

#./configure --without-snapshot 【#注释:这一句是关键,参考:http://www.armhf.com/index.php/node-js-for-the-beaglebone-black/

然后执行完,会有如下:

  1. { 'target_defaults': { 'cflags': [],
  2. 'default_configuration': 'Release',
  3. 'defines': [],
  4. 'include_dirs': [],
  5. 'libraries': []},
  6. 'variables': { 'arm_fpu': 'vfpv3',
  7. 'arm_neon': 0,
  8. 'armv7': 1,
  9. 'clang': 0,
  10. 'gcc_version': 47,
  11. 'host_arch': 'arm',
  12. 'node_install_npm': 'true',
  13. 'node_prefix': '',
  14. 'node_shared_cares': 'false',
  15. 'node_shared_http_parser': 'false',
  16. 'node_shared_libuv': 'false',
  17. 'node_shared_openssl': 'false',
  18. 'node_shared_v8': 'false',
  19. 'node_shared_zlib': 'false',
  20. 'node_tag': '',
  21. 'node_unsafe_optimizations': 0,
  22. 'node_use_dtrace': 'false',
  23. 'node_use_etw': 'false',
  24. 'node_use_openssl': 'true',
  25. 'node_use_perfctr': 'false',
  26. 'node_use_systemtap': 'false',
  27. 'python': '/usr/bin/python',
  28. 'target_arch': 'arm',
  29. 'v8_enable_gdbjit': 0,
  30. 'v8_no_strict_aliasing': 1,
  31. 'v8_use_arm_eabi_hardfloat': 'true',
  32. <font color="#ff0000"><b> 'v8_use_snapshot': 'false'</b></font>}}
  33. creating ./config.gypi
  34. creating ./config.mk
复制代码

看到红色的部分,'v8_use_snapshot': 'false' ,就可以继续了。

  1. #make && make install
复制代码

然后查看一下是否安装成功:

  1. #node -v
复制代码

应该可以看懂啊node版本号了:v0.10.15

安装完成后node 和 npm就都好了,可以写一段测试代码测试一下,比如Helloworld.js

  1. console.log('Hello World run in NodeJS');
复制代码

然后 #node Helloworld.js

就可以看到nodejs的执行输出了!

3,直接编译安装可以安装成功,但是无法执行任何nodeJS代码:

  1. #segmentation fault
复制代码

在ARM上安装node搞不好就会出 segmentation fault 。!

这里有node的各版本可供下载:

http://www.nodejs.org/dist/

http://stackoverflow.com/questions/16628118/node-js-source-code-build-giving-segmentation-fault-on-arm 上找到了一个同样问题的,并且给出了解决办法。

我的NodeJS 经过这两天的折腾,终于搞好了。