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

將 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
  1. console.log("testing");
  • 執行
Example
  1. [puritys]node# node testing.js
  2. 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。

安裝方式


如果 npm 安裝失敗的話,可以用另外一個方式


回應 (Leave a comment)