如何安裝與配置好node.js的執行環境,方便node.js程式與模組執行。
編譯執行檔
在Unix-like作業系統中
node.js的更版速度非常快,大概幾星期就會有一個版本。作業系統預設的套件管理程式可以取得的程式,通常更新速度遠遠不如node.js更版的速度。所以最好的建置方式,還是自己編譯。
在Unix-like的作業系統安裝node.js,必要條件是要先安裝GCC4.x以及Python。V8的C++程式碼需要使用GCC4.x以上才能編譯,而node的建置系統雖然長得很像autoconf,實際上是跑python來驅動整個建置的設定及編譯過程。除了編譯需要的工具之外,如果要使用https以及crypt模組,那還需要安裝openssl。至於實際建置過程則非常簡單,把從nodejs.org上取得的原始碼解壓縮後,三個指令就解決:
>./configure
......
>make
......
>sudo make install
如果是使用Mac OS,在安裝完畢xcode之後,還需要安裝port或是homebrew,然後透過他建置類似Linux的環境,把必備的軟體裝好,就可以拿來編譯node.js了。
在Windows中
node-v0.4.x及更早的版本,在Windows上編譯,需要有cygwin或是msys這樣的Unix模擬環境,然後透過他來編譯。編譯方式跟在其他Unix Like的作業系統中差不多。編譯完成後,還必須把一些dll複製到node.exe目錄中,才能執行。不過以我自己的經驗...有時還是需要自己手動調整環境,才有辦法順利進行編譯。
node-v0.5.x之後的版本,除了在nodejs.org官網的下載連結中可以直接下載執行檔,v0.5.6之後版本的編譯系統也支援Visual C++ 2010(Express就可以),不過還是需要安裝python。解開原始檔後,裡面會有一個產生node、V8以及其他程式庫編譯所需要的sln檔的batch執行檔(最後還是呼叫python程式來做處理),透過簡單的指令就可以產生node.sln,然後進入Visual C++的命令列工具,執行msbuild node.sln
就可以一次編譯完畢。
模組的環境建置及安裝、使用NPM
node.js除了核心的模組,最方便的還是大量的第三方模組。所以除了node執行環境(其實就是node執行檔啦)建置之外,不得不先提到模組配置以及NPM這個node用的套件管理工具。
在Unix-like作業系統中快速安裝NPM
不使用NPM這個套件管理工具,使用node.js的便利性就差很多,畢竟現在已經有超過上千個套件可以使用,不需要自己從頭開發。
上去NPM的官網:http://npmjs.org 首頁,上面就提供了一行安裝的shell指令,把他複製下來,然後進console貼上執行,就安裝完NPM了,非常簡單。不過他使用到curl,所以需要在安裝NPM之前先安裝curl。
在Windows作業系統中管理套件
在Windows上比較麻煩的是,NPM還不支援Windows......不過其實手動設定模組環境並不太困難。只要利用兩個環境變數,就可以讓node.js自動找到安裝好的模組。以我自己在Windows系統中的配置為例:
設定好這些環境變數後,在console就可以隨時執行node,而node會利用NODE_PATH環境變數,去尋找要使用的套件。不過沒有NPM比較麻煩的地方,就是模組之間的依賴性需要自己注意。NPM官網上有提供搜尋套件的功能(http://search.npmjs.org),除了下載套件以及套件本身的資訊,還可以找到套件本身的依賴性資料,可以參考他來自行管理套件。
預計在node.js的下一個穩定版本,也就是v0.6.x出來以後,NPM也能支援Widnows。在這之前,Windows的用戶就只好先手動一下。
補充一下:
還是需要稍微提到模組怎麼安裝比較好,留到怎樣使用模組的地方好像還是怪怪的。
從npmjs.org下載的模組,壓縮檔(.tgz)解開來後,會發現所有東西都放在package這個目錄裡面。假設解開到模組目錄的就是package這個目錄,接著需要打開package/package.json檔案,看看"name"這個欄位的值,然後把package目錄名稱改成這個名字。
之後,在node.js程式中,使用require('名字')就可以使用模組。