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帳號可以下后面的備注。
- 先解除root鎖定,為root用戶設置密碼
- #sudo passwd
- Password:<---------輸入當前用戶密碼
- Enter new UNIX password:<------輸入root帳號密碼
- Retype new UNIX password:<------重復新的root用戶密碼
- pwsswd:已成功更新密碼,啟用root帳號
2,要把node-v0.10.15壓縮包下載到nand上,不要下載到mount掛載的tf卡上。
- root@cubieboard2:/# cd /home/linaro/Downloads/
- 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,
下載成功后:
- #tar -xzvf node-v0.10.15.tar.gz
- #cd node-v0.10.15
- #./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/】
然后執行完,會有如下:
- { 'target_defaults': { 'cflags': [],
- 'default_configuration': 'Release',
- 'defines': [],
- 'include_dirs': [],
- 'libraries': []},
- 'variables': { 'arm_fpu': 'vfpv3',
- 'arm_neon': 0,
- 'armv7': 1,
- 'clang': 0,
- 'gcc_version': 47,
- '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',
- <font color="#ff0000"><b> 'v8_use_snapshot': 'false'</b></font>}}
- creating ./config.gypi
- creating ./config.mk
看到紅色的部分,'v8_use_snapshot': 'false' ,就可以繼續了。
- #make && make install
然后查看一下是否安裝成功:
- #node -v
應該可以看懂啊node版本號了:v0.10.15
安裝完成后node 和 npm就都好了,可以寫一段測試代碼測試一下,比如Helloworld.js
- console.log('Hello World run in NodeJS');
然后 #node Helloworld.js
就可以看到nodejs的執行輸出了!
3,直接編譯安裝可以安裝成功,但是無法執行任何nodeJS代碼:
- #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 經過這兩天的折騰,終於搞好了。