2011
Sep
21
使用 yum 安裝 nodejs
如果你的環境是 RedHat, CentOS ,要先安裝這個 nodejs 團隊維護的 RPM Repository
再用 yum 安裝 nodejs
- sudo yum install nodejs -y
自行編譯 nodejs 安裝
安裝 Node.js 時,他會自動幫你安裝 V8 engine ,若是 V8 engine 有問題,裝不起來的話,可以參考「安裝 Google V8 Engine」
- 載點: http://nodejs.org/dist/v0.10.17/node-v0.10.17.tar.gz
- 其它版本的 node.js http://nodejs.org/dist/
- ./configure
- make
- sudo make install
- sudo make fullinstall
將 V8 與 UV 分開安裝
Node.js 會使用到 V8 , UV 這兩個 library ,一般來說,下載 Node.js 時,就已經含有這兩個軟體,不過我們也可以自已分開安裝 v8 與 UV,安裝方式如下。
Install uv library
- git clone https://github.com/joyent/libuv.git
- /bin/sh autogen.sh
- ./configure --prefix=/usr/local/uv --bindir=/usr/local/bin --libdir=/usr/local/lib --includedir=/usr/local/include --mandir /usr/local/share/man/man1
- make
- sudo make install
Install v8 library
Install Node.js
- ./configure --shared-libuv --shared-v8 --shared-v8-libpath=/usr/local/lib --shared-v8-includes=/usr/local/include/v8 --shared-libuv-includes=/usr/local/include/ --shared-libuv-libpath=/usr/local/lib
分開安裝的好處是,每一個軟體都獨立編譯,一步一步安裝,哪一個軟體出錯,都可以很快的知道問題,如果一次編譯全部的軟體,光是編譯可能就花掉半小時以上,而且失敗又要重來。
! PS: libtool, autoconf 這兩個 library 版本不能太低,分別最少都要 2.4, 2.5 以上安裝問題
「NameError: name 'set' is not defined」
! python版本要在 2.6~2.99 之間,太新或太舊都不行「deps/v8/src/platform-linux.cc:587: error:PR_SET_NAME' was not declared」
! 這個問題主要是因為這句語法 prctl(PR_SET_NAME),這是為舊的linux核心用的,一般來說是用不到的,直接註解掉就好了。「 File "./configure", line 436 fpu = 'vfpv3' if armv7 else 'vfpv2'」
! python 升到 2.7 以上版本即可簡易測試
- testing.js
Example
- console.log("testing");
- 執行
Example
- [puritys]node# node testing.js
- testing
載入JS檔
- require('./xxx.js'); 用「點」開頭,代表以目前的目錄為路徑,載入 xxx.js
- require('xxx.js'); 這種寫法,預設會以 NODE_PATH 為路徑,來尋找 xxx.js ,可以用 export NODE_PATH="/home/xxx/node"來設定路徑
安裝 Package 管理工具 NPM
NPM 全名是 Node.js Package Manager,目的是用來安裝 node.js 相關的 Package ,安裝 NPM 之後,就可以用指令的方式,去安裝別人上傳到 npm 的 Library。
安裝方式
- sudo bash -c "curl https://www.npmjs.com/install.sh | sh"
如果 npm 安裝失敗的話,可以用另外一個方式
- curl -k https://www.npmjs.com/install.sh > install.sh
- sudo -E sh install.sh