一文詳解NPM如何換源
前言
做開發(fā),最怕的就是下載 404 的問題。
對于 NPM,下載完后不換源的話,下載依賴包就相當(dāng)?shù)穆?,最后超時下載失敗也經(jīng)常發(fā)生。
這時候我們就要改一下 NPM 的 registry 配置,換成國內(nèi)的鏡像源。
查看源
先看看源指向哪里:
npm config get registry
默認(rèn)是指向 https://registry.npmjs.org/
,也就是官方源。
更換源
國內(nèi)源有很多,我這里用淘寶源吧。畢竟是大公司,會比較穩(wěn)定。
npm config set registry https://registry.npmmirror.com/
一些文章還是寫著舊的淘寶 NPM 鏡像
registry.npm.taobao.org
,但它已于 2022 年 05 月 31 日 廢棄,讀者需要更換為新的registry.npmmirror.com
源。
這個配置會持久化保存到 ~/.npmrc
文件中,你也可以通過手動改該文件來修改配置。
nrm
因?yàn)閾Q源要記域名很麻煩,還要手打較長的命令,所以我們可以考慮安裝 nrm 包
npm i -g nrm
nrm 其實(shí)就是 NPM registry manager,管理 NPM 源泉的簡單命令行工具。
令人悲傷的是,如果用國外源安裝 nrm,有可能會因?yàn)槌瑫r而安裝失敗。
通過 nrm ls
會列出一些可選擇的公有源:
$ nrm ls npm ---------- https://registry.npmjs.org/ yarn --------- https://registry.yarnpkg.com/ tencent ------ https://mirrors.cloud.tencent.com/npm/ cnpm --------- https://r.cnpmjs.org/ taobao ------- https://registry.npmmirror.com/ npmMirror ---- https://skimdb.npmjs.com/registry/
通過 nrm use <源的名稱>
,則會配置為對應(yīng)的 registry url。
$ nrm use taobao Registry has been set to: https://registry.npmmirror.com/
nrm 工具的子命令不只是這些,比如可以在列表中新增自己的私有源。不過基本來說,也就前面提到的這兩個最常用。具體可以閱讀它的文檔。
話說它好像有點(diǎn)小 bug。作者其實(shí)并沒有好好維護(hù),曾經(jīng)有一段時間 npm 升級,nrm 沒有更近,導(dǎo)致不可使用,后來是修好了。
補(bǔ)充:npm更改默認(rèn)下載位置
為了更好的管理npm包,所以最好是自己更改默認(rèn)下載位置后來管理。
npm包的下載方式有兩種,一種是當(dāng)前目錄安裝,另一種是安裝在全局中。
可以通過在下載是加上-g來安裝為全局包。
默認(rèn)安裝位置在C:\Users\xxx\AppData\Roaming\npm,默認(rèn)的緩存位置在C:\Users\xxx\AppData\Roaming\npm_cache,可以通過下面的命令來查看:
npm root -g //或者 npm config list
創(chuàng)建一個npm包的下載位置以及緩存位置,E:/npm/npm_global和E:/npm/npm_cache。
然后執(zhí)行下面的命令:
npm config set prefix "E:/npm/npm_global" npm config set cache "E:/npm/npm_cache"
執(zhí)行完之后,默認(rèn)的目錄就更改了。
默認(rèn)目錄更改后,命令執(zhí)行的目錄還沒有更改,如果不更改,下載后的包使用會找不到命令,這個時候需要添加環(huán)境變量,把npm_global的路徑添加的環(huán)境變量path中去。
結(jié)尾
作為一名成熟的國內(nèi)程序員,麻溜地?fù)Q源已經(jīng)是一種基本操作了。
到此這篇關(guān)于一文詳解NPM如何換源的文章就介紹到這了,更多相關(guān)NPM換源內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Node.js中使用socket創(chuàng)建私聊和公聊聊天室
這篇文章主要介紹了Node.js中使用socket創(chuàng)建私聊和公聊聊天室的相關(guān)資料,需要的朋友可以參考下2015-11-11使用Node.js實(shí)現(xiàn)簡易MVC框架的方法
下面小編就為大家?guī)硪黄褂肗ode.js實(shí)現(xiàn)簡易MVC框架的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08Node.js完整實(shí)現(xiàn)博客系統(tǒng)詳解
這篇文章主要介紹了Node.js完整實(shí)現(xiàn)一個博客系統(tǒng)的流程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08Express.js 全局錯誤處理實(shí)現(xiàn)
本文主要介紹了Express.js 全局錯誤處理實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06