以前我們介紹過 cnpmjs.org 和最近推出的 淘寶 npm 兩個 NPM 鏡像。除此之外,還有一些國外的 NPM 鏡像。不同地區通路不同的鏡像速度可能有差異,然後各個鏡像各自都可能有少數包暫時沒有同步,是以,有時候需要切換 NPM 鏡像。相比每次切換時都手動指定相應參數,使用 nrm
要友善的多。
nrm 是一個 NPM 源管理器,允許你快速地在如下 NPM 源間切換:
安裝
; 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/
帶
*
的是目前使用的源,上面的輸出表明目前源是官方源。
切換
切換到taobao
; nrm use taobao
Registry has been set to: http://registry.npm.taobao.org/
增加源
你可以增加定制的源,特别适用于添加企業内部的私有源。
私有源可以使用cnpmjs架設。
nrm add <registry> <url> [home]
删除源
nrm del <registry>
測試速度
你還可以通過
nrm test
測試相應源的響應時間。
例如,測試官方源的響應時間:
; nrm test npm
npm ---- 1328ms
測試所有源的響應時間:
; nrm test
npm ---- 891ms
cnpm --- 1213ms
* taobao - 460ms
eu ----- 3859ms
au ----- 1073ms
sl ----- 4150ms
nj ----- 8008ms
注意,為了取得較準确的結果,可以考慮多次測試取平均值。
許可
nrm 為開源軟體,使用 MIT 許可。