Node.js已經誕生兩年有餘,因爲一直處於快速開發中,過去的一些安裝配置介紹多數針對0.4.x版本而言的,並不是適合最新的0.6.x的版本狀況了,對此,咱們將在0.6.x的版本上介紹Node.js的安裝和配置。(本文一概以0.6.1爲例,0.6的其他版本,只需替換版本號便可。從http://nodejs.org/#download能夠查看到最新的二進制版本和源代碼)。 node
在過去,Node.js一直不支持在Windows平臺下原生編譯,須要藉助Cygwin或MinGW來模擬POSIX系統,才能編譯安裝。幸運的是2011年6月微軟開始與Joyent合做移植Node.js到Windows平臺上(http://www.infoq.com/cn/news/2011/06/node-exe ),此次合做的成果最終呈如今0.6.x的穩定版的發佈上。此次的版本發佈使得Node.js在Windows平臺上的性能大幅度提升,使用方面也更容易和輕巧,徹底擺脫掉Cygwin或MinGW等實驗室式的環境,而且在某些細節方面,表現出比Linux下更高的性能,細節參見http://www.infoq.com/news/2011/11/Nodejs-Windows。 python
在Windows(Windows7)平臺下,我將介紹二種安裝Node.js的方法,即普通和文藝安裝方法。 c++
普通安裝方法其實就是最簡單的方法了,對於大多Windows用戶而言,都是不太喜歡折騰的人,你能夠從這裏(http://nodejs.org/dist/v0.6.1/node-v0.6.1.msi )直接下載到Node.js編譯好的msi文件。而後雙擊便可在程序的引導下完成安裝。 git
在命令行中直接運行: 程序員
node -v
命令行將打印出: github
v0.6.1
該引導步驟會將node.exe文件安裝到C:\Program Files (x86)\nodejs\目錄下,並將該目錄添加進PATH環境變量。 shell
Windows平臺下的文藝安裝方法主要提供給那些熱愛折騰,喜歡編譯的同窗們。在編譯源碼以前須要注意的是你的Windows系統是否包含編譯源碼的工具。Node.js的源碼主要由C++代碼和JavaScript代碼構成,可是卻用gyp工具(http://code.google.com/p/gyp/ )來作源碼的項目管理,該工具採用Python語言寫成的。在Windows平臺上,Node.js採用gyp來生成Visual Studio Solution文件,最終經過VC++的編譯器將其編譯爲二進制文件。因此,你須要知足如下兩個條件: npm
下載Node.js的0.6.1版本的源碼壓縮包(http://nodejs.org/dist/v0.6.1/node-v0.6.1.tar.gz )並解壓之。 api
經過命令行進入解壓的源碼目錄,執行vcbuild.bat release命令,而後經歷了漫長的等待後,編譯完成後,在Release目錄下能夠找到編譯好的node.exe文件。經過命令行執行node -v。 xcode
命令行返回結果爲:
v0.6.1
事實上,若是你的編譯環境中存在WiX工具集(http://wix.sourceforge.net/ ),執行vcbuild.bat msi release命令,你將會在Relase目錄下找到node.msi。
是的,咱們回到了一開始的普通安裝方法。所謂文藝就是多走一些路,多看一些風景罷了。
因爲Node.js尚處於v0.x.x的版本的快速發展中,Unix/Linux平臺的發行版都不會預置Node的二進制文件,經過源碼進行編譯安裝是目前最好的選擇。並且用Unix/Linux系統的同窗們多數都是文藝程序員,本節只介紹如何經過源碼進行編譯和安裝。
如同在Windows平臺下同樣,Node.js依然是採用gyp工具管理生成項目的,不一樣的是經過make工具進行最終的編譯。因此Unix/Linux平臺下你須要如下幾個必備條件,才能確保編譯完成:
完成以上預備條件後,咱們獲取源碼並進行環境檢查吧:
wget http://nodejs.org/dist/v0.6.1/node-v0.6.1.tar.gz tar zxvf node-v0.6.1.tar.gz cd node-v0.6.1 ./configure 上面幾行命令是經過wget命令下載最新版本的代碼,並解壓之。./configure命令將會檢查環境是否符合Nodejs的編譯須要。 Checking for program g++ or c++ : /usr/bin/g++ Checking for program cpp : /usr/bin/cpp Checking for program ar : /usr/bin/ar Checking for program ranlib : /usr/bin/ranlib Checking for g++ : ok Checking for program gcc or cc : /usr/bin/gcc Checking for program ar : /usr/bin/ar Checking for program ranlib : /usr/bin/ranlib Checking for gcc : ok Checking for library dl : yes Checking for openssl : yes Checking for library util : yes Checking for library rt : yes Checking for fdatasync(2) with c++ : yes 'configure' finished successfully (7.350s)
若是檢查沒有經過,請確認上面提到的三個條件是否知足。若是configure命令執行成功,就能夠進行編譯了:
make make install
Nodejs經過make工具進行編譯和安裝(若是make install不成功,請使用sudo以確保擁有權限)。完成以上兩步後,檢查一下是否安裝成功:
node -v
檢查是否返回:
v0.6.1
至此,Nodejs已經編譯並安裝完成。如需卸載,能夠執行make uninstall進行卸載。
以上介紹了*nix和Windows平臺下Nodejs的安裝,以後能夠如同Nodejs官方網站上介紹的那樣,編寫example.js文件。
var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, "127.0.0.1"); console.log('Server running at http://127.0.0.1:1337/');
在命令行中執行它:
node example.js
你就能夠經過瀏覽器訪問http://127.0.0.1:1337獲得Hello World的響應。
NPM的全稱是Node Package Manager,若是你熟悉ruby的gem,Python的PyPL、setuptools,PHP的pear,那麼你就知道NPM的做用是什麼了。沒錯,它就是Nodejs的包管理器。Nodejs自身提供了基本的模塊。可是在這些基本模塊上開發實際應用須要較多的工做。所幸的是筆者執筆此文的時候NPM上已經有了5112個Nodejs庫或框架,這些庫從各個方面能夠幫助Nodejs的開發者完成較爲複雜的應用。這些庫的數量和活躍也從側面反映出Nodejs社區的發展是十分神速和活躍的。下面我將介紹安裝NPM和經過NPM安裝Nodejs的第三方庫,以及在大陸的網絡環境下,如何更好的利用NPM。
就像NPM的官網(http://npmjs.org/)上介紹的那樣,安裝NPM僅僅是一行命令的事情:
curl http://npmjs.org/install.sh | sh
這裏詳解一下這句命令的意思,curl http://npmjs.org/install.sh是經過curl命令獲取這個安裝shell腳本,按後經過管道符| 將獲取的腳本交由sh命令來執行。這裏若是沒有權限會安裝不成功,須要加上sudo來確保權限:
curl http://npmjs.org/install.sh | sudo sh
安裝成功後執行npm命令,會獲得一下的提示:
Usage: npm <command> where <command> is one of: adduser, apihelp, author, bin, bugs, c, cache, completion, config, deprecate, docs, edit, explore, faq, find, get, help, help-search, home, i, info, init, install, la, link, list, ll, ln, ls, outdated, owner, pack, prefix, prune, publish, r, rb, rebuild, remove, restart, rm, root, run-script, s, se, search, set, show, star, start, stop, submodule, tag, test, un, uninstall, unlink, unpublish, unstar, up, update, version, view, whoami
咱們以underscore爲例,來展現下經過npm安裝第三方包的過程。
npm install underscore
返回:
underscore@1.2.2 ./node_modules/underscore
因爲一些特殊的網絡環境,直接經過npm install命令安裝第三方庫的時候,常常會出現卡死的狀態。幸運的是國內CNode社區的@fire9 同窗利用空餘時間搭建了一個鏡像的NPM資源庫,服務器架設在日本,能夠繞過某些沒必要要的網絡問題。你能夠經過如下這條命令來安裝第三方庫:
npm --registry "http://npm.hacknodejs.com/" install underscore
若是你想將它設爲默認的資源庫,運行下面這條命令便可:
npm config set registry "http://npm.hacknodejs.com/"
設置以後每次安裝時就能夠不用帶上—registry參數。值得一提的是還有另外一個鏡像可用,該鏡像地址是http://registry.npmjs.vitecho.com,如需使用,替換上面兩行命令的地址便可。
因爲Nodejs最初在Linux開發下的歷史緣由,致使NPM一開始也不支持Windows環境,可是隨着Nodejs成功移植到到Windows平臺,NPM在Windows下的需求亦是日漸增長。下面開始Windows下的NPM之旅吧。
因爲github網站不支持直接下載打包了全部submodule的源碼包,因此須要經過git工具來簽出全部的源碼。從http://code.google.com/p/msysgit/downloads/list,能夠下載到msysgit這個Windows平臺下的git客戶端工具(最新版本文件爲Git-1.7.7.1-preview20111027.exe)。在下載以後雙擊安裝。
打開命令行工具(CMD),執行如下命令,能夠經過msysgit簽出NPM的全部源碼和依賴代碼並安裝npm。
git clone --recursive git://github.com/isaacs/npm.git cd npm node cli.js install npm -gf
在執行這段代碼以前,請確保node.exe是跟經過node.msi的方式安裝的,或者在PATH環境變量中。這段命令也會將npm加入到PATH環境變量中去,以後能夠隨處執行npm命令。若是安裝中遇到權限方面的錯誤,請確保cmd命令行工具是經過管理員身份運行的。安裝成功後,執行如下命令:
npm install underscore
返回:
underscore@1.2.2 ./node_modules/underscore
如此,Windows平臺下的NPM安裝完畢。若是遭遇網絡問題沒法安裝,請參照Linux下的NPM命令,添加鏡像地址。