場景:在日常開發中,需要使用一些基於node.js的javascript庫文件,就需要npm對這些依賴庫進行方便的管理。有時基於我們的開發環境由於安全因素起見,在訪問一些網站時需要使用代理,其中就包括npm的repositories網站,所以就需要修改npm的配置來加入代理。
設置代理
爲npm 設置代理,在設置配置屬性時屬性值默認是被存儲於用戶配置文件中,如果加上–global,則被存儲在全局配置文件中。如果要查看npm的所有配置屬性(包括默認配置),可以使用npm config ls -l。
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/"
配置鏡像
場景:registry即源,鏡像即是對資源的映射存儲(個人理解),在我們日常開發中,公司或有自己的私有庫,因此在我們install時是無法直接拉取的,就需要設置鏡像,從該私有源去install資源,常見也有像淘寶的鏡像,它的鏡像服務器在國內,資源跟npm一致,主旨意在提升資源的加載速度
安裝時臨時指定代理:npm --registry=https://registry.npm.taobao.org install
全局配置:npm config set registry https://registry.npm.taobao.org
刪除:
npm config delete registry
或者 npm config edit
找到:registry=https://registry.npm.taobao.org/ 那行刪除
使用nrm管理npm 源
安裝
mac : sudo npm install -g nrm
windows: npm install -g nrm
使用
列出可用的源:
➜ ~ nrm ls
npm -------- https://registry.npmjs.org/
yarn ------- https://registry.yarnpkg.com/
cnpm ------- http://r.cnpmjs.org/
taobao ----- https://registry.npm.taobao.org/
nj --------- https://registry.nodejitsu.com/
npmMirror -- https://skimdb.npmjs.com/registry/
edunpm ----- http://registry.enpmjs.org/
切換:
➜ ~ nrm use taobao
Registry has been set to: http://registry.npm.taobao.org/
增加源:
nrm add <registry> <url> [home]
刪除源:
nrm del <registry>
測試速度:
nrm test
以上資源僅供參考,有不對之處請指教。Done is better than perfect!!!