引子
隨著前段發展,基於node前端的工程化成為了日常工作標配。node在使用過程中,依賴的各種包需要使用npm來管理,但是!!npm在國內非常不好用,具體原因你懂的。所以就出現了各種神通解決這些問題。不外乎以下幾種方案。
1.搬梯子爬牆:此方法需要買梯子,而且有風險。
2.cnpm :此方法是用cnpm 命令把安裝的包指向了淘寶npm映象庫,下載軟體包會快很多。但是還是有弊端的。只有使用cnpm安裝npm包的時候才會指向淘寶映象,很多npm包本身就依賴了很多其他包,而且整合了npm install,在安裝一個包的依賴包時,還會使用npm install !!這就導致了使用cnpm安裝某個包,但是中途還會報錯。請問酸爽嗎?
解決方案
那就沒有更好的解決方法了麼?當然有! 終極解決方法就是把npm命令的倉庫源改成國內的,在某包使用npm命令去安裝依賴包的時候,依然訪問的是國內映象。這就保證了安裝時不會網路問題導致安裝失敗,但是也有缺點,換成國內映象源後,你不能再publish ,因為國內源只是一個拷貝庫,不能提交。但是對於只是使用和安裝包來說,用不到publish。
具體實施
這裡需要用到一個包,叫nrm,nrm是npm 資源管理器,允許你快速切換npm 源。
1.安裝 npm install nrm -g
,安裝成功後 可以輸入 nrm help
檢視幫助。
2.輸入nrm ls
檢視所有源。前面標星號的是當前使用源。
nrm ls
* npm ----- https://registry.npmjs.org/
cnpm ---- http://r.cnpmjs.org/
taobao -- https://registry.npm.taobao.org/
nj ------ https://registry.nodejitsu.com/
rednpm -- http://registry.mirror.cqupt.edu.cn
skimdb -- https://skimdb.npmjs.com/registry
複製程式碼
3.使用nrm use taobao
切換到淘寶源,完成後 再次輸入nrm ls
檢視當前使用源。
nrm use taobao
Registry has been set to: https://registry.npm.taobao.org/
複製程式碼
4.至此,npm源就切換到了淘寶。可以愉快的使用npm了。如果想切換回npm官方源,輸入nrm use npm
就可以了。
5 .測試效果 下載一個jquery試試。 npm install jquery