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