windows 中配置 nodejs npm


npm安裝模塊的方式有兩種:本地安裝,全局安裝。

這兩者的區別在於,在用npm install xxx時加不加-g這個選項。

本地安裝的路徑在win中是當前cmd的路徑。比如,我一打開cmd時,路徑是C:\Documents and Settings\Administrator。那如果我用npm install koa的話,結果會在這個目錄下生成一個node_modules文件夾,里面是koa文件夾。很顯然,很多時候,我們不會把工作路徑設在c盤的那個地方。這時,如果require(‘koa’);的話就會提示找不到模塊的錯誤。

那怎么辦呢,就是先在cmd里面切換目錄到你的工作路徑,然后再安裝。這也是推薦的方式。

還有一點要注意,就是安裝后用require(‘koa’);時,要像普通js一樣,完全顯式的指定它的路徑。比如我的chat_server.js是這樣引用socket.io的。 require('./node_modules/socket.io/index.js')(server);,前面有個點代表當前js文件的路徑。

 全局安裝:這個很好理解,比如自己做的很多東西都是基於express,而且東西里面又有很多地方用到express,如果每次都像上面那樣指定路徑的話會很煩人。如果用全局安裝的話,就可以直接用require('express');了。

全局安裝的默認路徑是

那如果我不喜歡這個路徑的話,怎么辦。

 比如我的node.js安裝在F:\nodejs,新建一個lib文件夾,里面放新安裝模塊。

先找到F:\nodejs\node_modules\npm里面的npmrc這個文件,打開可以看到就只有

prefix=${APPDATA}\npm

將其改成prefix=F:\nodejs\lib\npm\node_modules\npm。

這時記得安裝的時候加上-g選項。

全局安裝的方式在windows 中,必須配置 NODE_PATH=F:\nodejs\lib\npm\node_modules\npm\node_modules 環境變量,才能在代碼作用使用require引用,否則會報錯。紅色部分是自動生成的文件夾,需要在NODE_PATH中添加,在是prefix並未指定。

 

另外,設置完環境變量后要重新打開cmd才能讓新設置的環境變量生效。

 

NPM 配置鏡像

設置代理

npm config set proxy http://server:port
npm config set https-proxy http://server:port

如果需要認證的話可以這樣設置:

npm config set proxy http://username:password@server:port
npm confit set https-proxy http://username:password@server:port

如果代理不支持https的話需要修改npm存放package的網站地址。

npm config set registry "http://registry.npmjs.org/"

 

 

 

刪除代理

npm config delete proxy

 

使用nrm快速切換npm源

nrm 是一個 NPM 源管理器,允許你快速地在如下 NPM 源間切換:

  • 列表項目
  • npm
  • cnpm
  • strongloop
  • enropean
  • australia
  • nodejitsu
  • taobao

Install

sudo npm install -g nrm 

如何使用?

列出可用的源:

  ➜  ~  nrm ls
  npm ---- https://registry.npmjs.org/ cnpm --- http://r.cnpmjs.org/ taobao - http://registry.npm.taobao.org/ eu ----- http://registry.npmjs.eu/ au ----- http://registry.npmjs.org.au/ sl ----- http://npm.strongloop.com/ nj ----- https://registry.nodejitsu.com/ pt ----- http://registry.npmjs.pt/

切換:

➜  ~  nrm use taobao Registry has been set to: http://registry.npm.taobao.org/ 

增加源:

nrm add <registry> <url> [home] 

刪除源:

nrm del <registry> 

測試速度:

nrm test

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM