Windows系统下nodejs安装及配置
生活随笔
收集整理的這篇文章主要介紹了
Windows系统下nodejs安装及配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
關于nodejs中文站,眼下活躍度最好的知識站應該是http://www.cnodejs.org/ ,而http://cnodejs.org/則活躍度較低。Express.js是nodejs的一個MVC開發框架,而且支持jade等多種模板,是Node.js上最流行的Web開發框架。這幾天剛接觸PhoneGap,曾經也看了一些nodejs的基礎但苦于時間有限一直沒機會親自搭建一個nodejs環境,今天周末,部署了PhoneGap到Android,順便一同搭建了一下nodejs本地環境,自己的操作過程例如以下:
第1步:下載、安裝文件
代開nodejs的官網http://www.nodejs.org/download/ 下載最新版本號,下載完畢之后,雙擊 node-v0.10.20-x86.msi,開始安裝nodejs,默認是安裝在C:\Program Files\nodejs文件夾。安裝好后系統默認的環境變量path是C:\Documents and Settings\Administrator\Application Data\npm;能夠依據須要手動指向本地安裝文件夾,如:C:\Program Files\nodejs\node_modules\npm將全局文件夾設置設為本地初始默認安裝文件夾一致。
打開C:\Program Files\nodejs文件夾你會發現里面自帶了Npm這個nodejs插件的管理工具,直接用Npm安裝相關須要的相關模塊就可以(其它有些系統可能須要單獨安裝NPM下載地址https://github.com/isaacs/npm,也可直接用Git工具下載git clone --recursive git://github.com/isaacs/npm.git下載完畢后,命令行首先定位到npm包所在文件夾,輸入代碼node cli.js install npm -gf 進行安裝。)
系統開始菜單--程序--進入node.js command prompt 命令窗體
鍵入命令:cd C:\Program Files\nodejs 就可以進入nodejs 安裝文件夾 C:\Program Files\nodejs
如今開始安裝相關模塊環境
node模塊的安裝分為全局模式和本地模式。普通情況下會以本地模式執行,包會被安裝到和你的應用代碼統計的本地node_modules文件夾下。在全局模式下,Node包會被安裝到Node的默認安裝文件夾下的node_modules下。
第一種方法是鍵入命令:npm install express 默認安裝express的最新版本號。若在后面加版本號號可安裝指定版本號,如npm install express@3.0.6 回車開始安裝express,安裝完畢后會在當前目錄下的node_modules目錄下多出express相關的兩個目錄express和.bin。
還有一種全局安裝方式是鍵入命令:npm install express -g? ,安裝完畢命令行會提示 npm info ok。參數-g的含義是代表安裝到全局環境里面。假設沒有-g的話會安裝到當前node_modules目錄下(如無則新建node_modules目錄)。個人不建議剛開始學習的人使用這樣的將包安裝到全局環境中的做法,由于在js實例代碼中,直接通過require()的方式是沒有辦法調用全局安裝包的,報錯 throw err;Error: Cannot find module 'express' ,此時能夠將node_modules整個目錄復制一份到你的項目project下。全局的安裝是供命令行使用的,使用全局方式安裝后,用戶就能夠在命令行中直接執行該組件包支持的命令,優點是能夠提高程序的反復利用程度,避免相同的內容存在多份副本。缺點是難以處理不同的版本號依賴。這里的require()是node.js內置函數,用來引入其它模塊以備代碼中調用模塊的函數和變量,默認下node.js會在NODE_PATH和眼下js所在項目目錄下的node_modules目錄下去尋找模塊。因此,假設是全局安裝,不復制系統安裝node_modules目錄到項目node_modules目錄下,還能夠選擇將環境變量的NODE_PATH設置為C:\Program Files\nodejs,設置完畢后再去項目文件夾執行命令node app.js就不會報錯了。express.js繼承自connect模塊,所以若你的node_modules文件夾下沒有connect模塊也是不能執行的。
以上為本人的經驗總結。后來查閱文檔發現國外有更為具體的答復:
援引Marek的問題Error: Cannot find module ‘express’的解答:
This problems seems to be quite popular among Windows users. It seems to occur after node has been reinstalled or updated? or when hidden attribute has been removed from? C:\Users\IMaster\AppData folder.? It might be one of those things that can make you feel bad especially if you don’t wont to apply some quick hacks like:? npm link express
Node returns error because is not able to find required module and that is why problem in most cases is actually easy to fix. First place to check would be require.paths. After typing it in node console I received:
Error: require.paths is removed. Use node_modules folders, or the NODE_PATH environment variable instead.
At the time of writing I am using v0.6.19 but you might see this or similar warning if you using newer version.
As stated? you have 2 choices. You can install express (or another module) to local node_modules directory using npm install express or after installing module globally
?? ?
npm install express -g
you can link it with your current project using
?? ?
npm link express
Second and last option is to create or update? NODE_PATH system variable pointing your node to the right place in the system. If you are Windows user use export command as shown below:
?? ?
export NODE_PATH="C:\Users\IMarek\AppData\Roaming\npm\node_modules"
Now you should update PATH variable as well
?? ?
set PATH=%PATH%;%NODE_PATH%
Try to run your module now.
You should be fine.
安裝完畢Express后執行node app.js 瀏覽器輸入http://localhost:3000可預覽即表明express成功安裝。
這里提示Express 500 Error: Cannot find module 'jade' 說明jade模塊沒有安裝,windows無須手動下載jade包,已集成(假設其它地方須要,可在此下載https://github.com/visionmedia/jade)。輸入npm install jade進行安裝就可以。
jade安裝完畢后如圖:
關于 Express.js 中文入門指引手冊能夠參考http://www.csser.com/board/4f77e6f996ca600f78000936
其它組件還有非常多,如mysql,能夠依據個人須要能夠選擇進行安裝。
默認情況下組件都是安裝在C:\Program Files\nodejs\node_modules目錄下,這也是nodejs相關組件的自己主動查找路徑。
第3步:測試項目project
如今安裝了express組件,嘗試鍵入:express myapp 建立一個名為myapp的project,文件夾下多了一個 myapp 文件夾。
是否須要復制node_modules目錄到myapp以下由上述npm express安裝方式決定
進入node.js command prompt 命令窗體,進入C:\Program Files\nodejs\myapp文件夾
鍵入node helloworld.js
瀏覽器輸入http://localhost:8080或者地址http://127.0.0.1:8080/
頁面輸出 :Hello World
第4步:安裝supervisor提高nodejs調試效率
這一步不是必須,僅僅是為了提高nodejs開發效率的輔助操作。以往我們開發PHP項目,代碼每改動一次,能夠直接打開瀏覽器預覽效果,不需手動重新啟動服務。可是開發nodejs程序,調試的時候,不管你改動了代碼的哪一部分,都須要重新啟動服務才干生效。這是由于 Node.js 僅僅有在第一次引用到某部份時才會去解析腳
本文件,以后都會直接訪問內存,避免反復加載。。Node.js的這樣的設計盡管有利于提高性能,卻不利于開發調試,由于我們在開發過程中總是希望修改后馬上看到效果,而不是每次都要終止進程并重新啟動。supervisor 能夠幫助你實現這個功能,它會監視你對代碼的修改,并自己主動重新啟動 Node.js。
supervisor的安裝也非常easy:
直接用npm安裝既可,鍵入命令: npm install supervisor -g 然后程序自己主動下載supervisor安裝包到本地開始安裝。
這里注意一點的就是,supervisor必須安裝到全局,假設你不安裝到全局,錯誤命令會提示你安裝到全局。
假設不想安裝到默認的全局,也能夠自己改動全局路徑到當前路徑
npm config set prefix "路徑"
安裝完以后就能夠用supervisor 來啟動服務了。
supervisor app.js
補充:npm經常使用命令
????? (1)npm install moduleNames
?????????????? 安裝Node模塊
?????????????? 注意事項:假設在使用模塊的時候不知道其名字,能夠通過http://search.npmjs.org站點依照
??????????????????????????????? 索引值找到想要的模塊。npm也提供了查詢的功能? npm search indexName
???????????????????????????????? 安裝完成后會產生一個node_modules文件夾,其文件夾下就是安裝的各個node模塊。
???????????????????????????????? node的安裝分為全局模式和本地模式。普通情況下會以本地模式執行,包會被安裝
??????????????????????????????? 到和你的應用代碼統計的本地node_modules文件夾下。在全局模式下,Node包會被
??????????????????????????????? 安裝到Node的安裝文件夾下的node_modules下。全局安裝命令為
??????????????????????????????? npm install -g moduleName。獲知使用npm set global=true來設定安裝模式
????????????????????????????? ,npm get global能夠查看當前使用的安裝模式。npm install <name> --save? 安裝的同一時候,將信息寫入package.json中
??????????????????????????????? 項目路徑中假設有package.json文件時,直接使用npm install方法就能夠依據dependencies配置安裝全部的依賴包
??????????????????????????????? 這樣代碼提交到github時,就不用提交node_modules這個目錄了。
?????? (2)npm view moduleNames
???????????????? 查看node模塊的package.json目錄
??????????????? 注意事項:假設想要查看package.json目錄下某個標簽的內容,能夠使用
???????????????????????????????? npm view moduleName labelName
?????? (3)npm list
??????????????? 查看當前文件夾下已安裝的node包。同命令npm ll/npm ls/npm la
??????????????? 注意事項:Node模塊搜索是從代碼運行的當前文件夾開始的,搜索結果取決于當前使用的文件夾中
???????????????????????????????? 的node_modules下的內容。 npm list parseable=true能夠文件夾的形式來展現當
???????????????????????????????? 前安裝的全部node包
?????? (4)npm help
??????????????? 查看幫助命令。假設要單獨查看install命令的幫助,能夠使用的npm help install
?????? (5)npm view moudleName dependencies
??????????????? 查看包的依賴關系
?????? (6)npm view moduleName repository.url
?????????????? 查看包的源文件地址
?????? (7 npm view moduleName engines
?????????????? 查看包所依賴的Node的版本號
????? (8)npm help folders
??????????????? 查看npm使用的全部目錄
????? (9)npm rebuild moduleName
??????????????? 用于更改包內容后進行重建
????? (10)npm outdated
???????????????? 檢查包是否已經過時,此命令會列出全部已經過時的包,能夠及時進行包的更新
????? (11)npm update moduleName
???????????????????? 更新node模塊
????? (12)$ npm uninstall moudleName
????????????????????? 卸載node模塊
????? (13)一個npm包是包括了package.json的目錄,package.json描寫敘述了這個目錄的結構。訪
????????????????????? 問npm的json目錄的方法例如以下:
??????????????????????????? npm help json
????????????????????? 此命令會以默認的方式打開一個網頁,假設更改了默認打開程序則可能不會以網頁的形式打
????????????????????? 開。
????? (14)公布一個npm包的時候,須要檢驗某個包名是否已存在
??????????????????? npm search packageName
????? (15)非常多時候我們在使用一個npm包的時候常常會忘記了require其相互依賴的模塊,我們能夠
???????????????????? 借助如例如以下命令來查看此模塊相互依賴的包都有哪些
????? (16)npm init? 會引導你創建一個package.json文件,包含名稱、版本號、作者這些信息等
????? (17)npm rm <name>移除,卸載一個模塊。有下面幾種命令形式:
??????????????????? npm rm <name>
??????????????????? npm r <name>
??????????????????? npm uninstall <name>
??????????????????? npm un <name>
????? (18)npm root 查看當前project的包的安裝路徑,npm root -g? 是查看全局的包的安裝路徑
????? (19)npm docs <packageName> 嘗試當前包相應的文檔URL,并使用瀏覽器打開該文檔。
????? (20)npm config ? 獲取配置文件信息,如環境變量,npmrc文件,package.json
?????? 很多其它命令請參看官方文檔https://npmjs.org/doc/
本文參考文檔:
1. Error: Cannot find module ‘express’ http://blog.i-evaluation.com/2012/09/17/error-cannot-find-module-express/
2. Node.js Manual & Documentation? http://nodejs.org/docs/v0.4.1/api/modules.html
3. nodejs-win? http://code.google.com/p/nodejs-win/
4. nodejs官方文檔?https://npmjs.org/doc/
下面為拓展鏈接:
Node + Redis = Fun????????? http://howtonode.org/node-redis-fun
Node.js家園??????? http://nodejs.gamesys.net/page/11
Nodejs開源應用? http://obullxl.duapp.com/
第1步:下載、安裝文件
代開nodejs的官網http://www.nodejs.org/download/ 下載最新版本號,下載完畢之后,雙擊 node-v0.10.20-x86.msi,開始安裝nodejs,默認是安裝在C:\Program Files\nodejs文件夾。安裝好后系統默認的環境變量path是C:\Documents and Settings\Administrator\Application Data\npm;能夠依據須要手動指向本地安裝文件夾,如:C:\Program Files\nodejs\node_modules\npm將全局文件夾設置設為本地初始默認安裝文件夾一致。
第2步:安裝相關模塊環境
打開C:\Program Files\nodejs文件夾你會發現里面自帶了Npm這個nodejs插件的管理工具,直接用Npm安裝相關須要的相關模塊就可以(其它有些系統可能須要單獨安裝NPM下載地址https://github.com/isaacs/npm,也可直接用Git工具下載git clone --recursive git://github.com/isaacs/npm.git下載完畢后,命令行首先定位到npm包所在文件夾,輸入代碼node cli.js install npm -gf 進行安裝。)
系統開始菜單--程序--進入node.js command prompt 命令窗體
鍵入命令:cd C:\Program Files\nodejs 就可以進入nodejs 安裝文件夾 C:\Program Files\nodejs
如今開始安裝相關模塊環境
node模塊的安裝分為全局模式和本地模式。普通情況下會以本地模式執行,包會被安裝到和你的應用代碼統計的本地node_modules文件夾下。在全局模式下,Node包會被安裝到Node的默認安裝文件夾下的node_modules下。
第一種方法是鍵入命令:npm install express 默認安裝express的最新版本號。若在后面加版本號號可安裝指定版本號,如npm install express@3.0.6 回車開始安裝express,安裝完畢后會在當前目錄下的node_modules目錄下多出express相關的兩個目錄express和.bin。
還有一種全局安裝方式是鍵入命令:npm install express -g? ,安裝完畢命令行會提示 npm info ok。參數-g的含義是代表安裝到全局環境里面。假設沒有-g的話會安裝到當前node_modules目錄下(如無則新建node_modules目錄)。個人不建議剛開始學習的人使用這樣的將包安裝到全局環境中的做法,由于在js實例代碼中,直接通過require()的方式是沒有辦法調用全局安裝包的,報錯 throw err;Error: Cannot find module 'express' ,此時能夠將node_modules整個目錄復制一份到你的項目project下。全局的安裝是供命令行使用的,使用全局方式安裝后,用戶就能夠在命令行中直接執行該組件包支持的命令,優點是能夠提高程序的反復利用程度,避免相同的內容存在多份副本。缺點是難以處理不同的版本號依賴。這里的require()是node.js內置函數,用來引入其它模塊以備代碼中調用模塊的函數和變量,默認下node.js會在NODE_PATH和眼下js所在項目目錄下的node_modules目錄下去尋找模塊。因此,假設是全局安裝,不復制系統安裝node_modules目錄到項目node_modules目錄下,還能夠選擇將環境變量的NODE_PATH設置為C:\Program Files\nodejs,設置完畢后再去項目文件夾執行命令node app.js就不會報錯了。express.js繼承自connect模塊,所以若你的node_modules文件夾下沒有connect模塊也是不能執行的。
以上為本人的經驗總結。后來查閱文檔發現國外有更為具體的答復:
援引Marek的問題Error: Cannot find module ‘express’的解答:
This problems seems to be quite popular among Windows users. It seems to occur after node has been reinstalled or updated? or when hidden attribute has been removed from? C:\Users\IMaster\AppData folder.? It might be one of those things that can make you feel bad especially if you don’t wont to apply some quick hacks like:? npm link express
Node returns error because is not able to find required module and that is why problem in most cases is actually easy to fix. First place to check would be require.paths. After typing it in node console I received:
Error: require.paths is removed. Use node_modules folders, or the NODE_PATH environment variable instead.
At the time of writing I am using v0.6.19 but you might see this or similar warning if you using newer version.
As stated? you have 2 choices. You can install express (or another module) to local node_modules directory using npm install express or after installing module globally
?? ?
npm install express -g
you can link it with your current project using
?? ?
npm link express
Second and last option is to create or update? NODE_PATH system variable pointing your node to the right place in the system. If you are Windows user use export command as shown below:
?? ?
export NODE_PATH="C:\Users\IMarek\AppData\Roaming\npm\node_modules"
Now you should update PATH variable as well
?? ?
set PATH=%PATH%;%NODE_PATH%
Try to run your module now.
You should be fine.
安裝完畢Express后執行node app.js 瀏覽器輸入http://localhost:3000可預覽即表明express成功安裝。
這里提示Express 500 Error: Cannot find module 'jade' 說明jade模塊沒有安裝,windows無須手動下載jade包,已集成(假設其它地方須要,可在此下載https://github.com/visionmedia/jade)。輸入npm install jade進行安裝就可以。
jade安裝完畢后如圖:
關于 Express.js 中文入門指引手冊能夠參考http://www.csser.com/board/4f77e6f996ca600f78000936
其它組件還有非常多,如mysql,能夠依據個人須要能夠選擇進行安裝。
默認情況下組件都是安裝在C:\Program Files\nodejs\node_modules目錄下,這也是nodejs相關組件的自己主動查找路徑。
第3步:測試項目project
如今安裝了express組件,嘗試鍵入:express myapp 建立一個名為myapp的project,文件夾下多了一個 myapp 文件夾。
是否須要復制node_modules目錄到myapp以下由上述npm express安裝方式決定
在myapp下新建helloworld.js,代碼例如以下:
進入node.js command prompt 命令窗體,進入C:\Program Files\nodejs\myapp文件夾
鍵入node helloworld.js
瀏覽器輸入http://localhost:8080或者地址http://127.0.0.1:8080/
頁面輸出 :Hello World
第4步:安裝supervisor提高nodejs調試效率
這一步不是必須,僅僅是為了提高nodejs開發效率的輔助操作。以往我們開發PHP項目,代碼每改動一次,能夠直接打開瀏覽器預覽效果,不需手動重新啟動服務。可是開發nodejs程序,調試的時候,不管你改動了代碼的哪一部分,都須要重新啟動服務才干生效。這是由于 Node.js 僅僅有在第一次引用到某部份時才會去解析腳
本文件,以后都會直接訪問內存,避免反復加載。。Node.js的這樣的設計盡管有利于提高性能,卻不利于開發調試,由于我們在開發過程中總是希望修改后馬上看到效果,而不是每次都要終止進程并重新啟動。supervisor 能夠幫助你實現這個功能,它會監視你對代碼的修改,并自己主動重新啟動 Node.js。
supervisor的安裝也非常easy:
直接用npm安裝既可,鍵入命令: npm install supervisor -g 然后程序自己主動下載supervisor安裝包到本地開始安裝。
這里注意一點的就是,supervisor必須安裝到全局,假設你不安裝到全局,錯誤命令會提示你安裝到全局。
假設不想安裝到默認的全局,也能夠自己改動全局路徑到當前路徑
npm config set prefix "路徑"
安裝完以后就能夠用supervisor 來啟動服務了。
supervisor app.js
補充:npm經常使用命令
????? (1)npm install moduleNames
?????????????? 安裝Node模塊
?????????????? 注意事項:假設在使用模塊的時候不知道其名字,能夠通過http://search.npmjs.org站點依照
??????????????????????????????? 索引值找到想要的模塊。npm也提供了查詢的功能? npm search indexName
???????????????????????????????? 安裝完成后會產生一個node_modules文件夾,其文件夾下就是安裝的各個node模塊。
???????????????????????????????? node的安裝分為全局模式和本地模式。普通情況下會以本地模式執行,包會被安裝
??????????????????????????????? 到和你的應用代碼統計的本地node_modules文件夾下。在全局模式下,Node包會被
??????????????????????????????? 安裝到Node的安裝文件夾下的node_modules下。全局安裝命令為
??????????????????????????????? npm install -g moduleName。獲知使用npm set global=true來設定安裝模式
????????????????????????????? ,npm get global能夠查看當前使用的安裝模式。npm install <name> --save? 安裝的同一時候,將信息寫入package.json中
??????????????????????????????? 項目路徑中假設有package.json文件時,直接使用npm install方法就能夠依據dependencies配置安裝全部的依賴包
??????????????????????????????? 這樣代碼提交到github時,就不用提交node_modules這個目錄了。
?????? (2)npm view moduleNames
???????????????? 查看node模塊的package.json目錄
??????????????? 注意事項:假設想要查看package.json目錄下某個標簽的內容,能夠使用
???????????????????????????????? npm view moduleName labelName
?????? (3)npm list
??????????????? 查看當前文件夾下已安裝的node包。同命令npm ll/npm ls/npm la
??????????????? 注意事項:Node模塊搜索是從代碼運行的當前文件夾開始的,搜索結果取決于當前使用的文件夾中
???????????????????????????????? 的node_modules下的內容。 npm list parseable=true能夠文件夾的形式來展現當
???????????????????????????????? 前安裝的全部node包
?????? (4)npm help
??????????????? 查看幫助命令。假設要單獨查看install命令的幫助,能夠使用的npm help install
?????? (5)npm view moudleName dependencies
??????????????? 查看包的依賴關系
?????? (6)npm view moduleName repository.url
?????????????? 查看包的源文件地址
?????? (7 npm view moduleName engines
?????????????? 查看包所依賴的Node的版本號
????? (8)npm help folders
??????????????? 查看npm使用的全部目錄
????? (9)npm rebuild moduleName
??????????????? 用于更改包內容后進行重建
????? (10)npm outdated
???????????????? 檢查包是否已經過時,此命令會列出全部已經過時的包,能夠及時進行包的更新
????? (11)npm update moduleName
???????????????????? 更新node模塊
????? (12)$ npm uninstall moudleName
????????????????????? 卸載node模塊
????? (13)一個npm包是包括了package.json的目錄,package.json描寫敘述了這個目錄的結構。訪
????????????????????? 問npm的json目錄的方法例如以下:
??????????????????????????? npm help json
????????????????????? 此命令會以默認的方式打開一個網頁,假設更改了默認打開程序則可能不會以網頁的形式打
????????????????????? 開。
????? (14)公布一個npm包的時候,須要檢驗某個包名是否已存在
??????????????????? npm search packageName
????? (15)非常多時候我們在使用一個npm包的時候常常會忘記了require其相互依賴的模塊,我們能夠
???????????????????? 借助如例如以下命令來查看此模塊相互依賴的包都有哪些
????? (16)npm init? 會引導你創建一個package.json文件,包含名稱、版本號、作者這些信息等
????? (17)npm rm <name>移除,卸載一個模塊。有下面幾種命令形式:
??????????????????? npm rm <name>
??????????????????? npm r <name>
??????????????????? npm uninstall <name>
??????????????????? npm un <name>
????? (18)npm root 查看當前project的包的安裝路徑,npm root -g? 是查看全局的包的安裝路徑
????? (19)npm docs <packageName> 嘗試當前包相應的文檔URL,并使用瀏覽器打開該文檔。
????? (20)npm config ? 獲取配置文件信息,如環境變量,npmrc文件,package.json
?????? 很多其它命令請參看官方文檔https://npmjs.org/doc/
本文參考文檔:
1. Error: Cannot find module ‘express’ http://blog.i-evaluation.com/2012/09/17/error-cannot-find-module-express/
2. Node.js Manual & Documentation? http://nodejs.org/docs/v0.4.1/api/modules.html
3. nodejs-win? http://code.google.com/p/nodejs-win/
4. nodejs官方文檔?https://npmjs.org/doc/
下面為拓展鏈接:
Node + Redis = Fun????????? http://howtonode.org/node-redis-fun
Node.js家園??????? http://nodejs.gamesys.net/page/11
Nodejs開源應用? http://obullxl.duapp.com/
總結
以上是生活随笔為你收集整理的Windows系统下nodejs安装及配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css中calc()方法的使用
- 下一篇: SQL SERVER中的纵横查询