Windows 10 下安裝 node v12.16.3 (npm v6.14.4)
後,使用以下命令可以查看 npm 的配置信息(默認的全局及緩存位置、數據源等)
npm config ls
## 更多npm命令可以自行嘗試
# npm <command> -h 查看對應命令的幫助
# npm -l 查看所有指令
# npm help 查看幫助
# npm help npm 打開npm本地幫助文件
默認全局及緩存位置如下:
C:\Users\[用戶名]\AppData\Roaming\npm # 通過命令 npm config get prefix 獲取
C:\Users\[用戶名]\AppData\Roaming\npm_cache # 通過命令 npm config get cache 獲取
默認registry地址如下:
https://registry.npmjs.org/ # 通過命令 npm config get cache 獲取
修改全局、緩存地址
命令修改
npm config set prefix "新制定的全局路徑,如:D:\tools\node\npm_global"
npm config set cache "新制定的緩存路徑,如:D:\tools\node\npm_cache"
# 使用 npm config ls 命令查看是否修改成功
.npmrc 配置文件修改
使用文本編輯器(如:Visual Studio Code、Sublime Text、Nodepad++等,不推薦使用記事本打開)打開 C:\Users\[用戶名]\.npmrc
用戶配置文件(不存在則自行創建),添加以下內容:
prefix=D:\tools\node\npm_global
cache=D:\tools\node\npm_cache
保存退出即可生效。
驗證
配置完成後可以通過 npm 全局安裝命令,驗證是否修改成功,如:npm install -g nrm
命令安裝 nrm
安裝完成後,可以在新配置的全局路徑內看到新安裝的內容,但此時在命令行執行 nrm -v
命令時,會出現 “ ‘nrm’ 不是內部或外部命令,也不是可運行的程序或批處理文件。” 錯誤提示。
此處因修改了全局安裝路徑,則需要修改環境變量
- 環境變量中新建變量 NODE_PATH , 變量值爲 D:\tools\node\npm_global
- path變量中新增條目 %NODE_PATH%
設置完成後,重啓命令行窗口,即可成功執行上面命令。
修改 npm 鏡像源
命令修改
# 全局使用時設置
npm config set registry http://registry.npm.taobao.org/ #淘寶鏡像源
# 臨時使用時設置
# npm i [包名] --registry=https://registry.npm.taobao.org
# 切回原鏡像 npm config set registry https://registry.npmjs.org
.npmrc 配置文件修改
.npmrc 用戶配置文件,添加以下內容:
registry=http://registry.npm.taobao.org/
## 使用以下命令查看是否修改成功
# npm config get registry
保存退出即可生效。
多鏡像地址管理工具 nrm
nrm (全稱:NPM registry manager), 用於管理多個鏡像源地址,通過命令進行切換(簡化 npm config set registry xxx
命令)。
nrm內置一下鏡像源:
源 | URL | 主頁 |
---|---|---|
npm | https://registry.npmjs.org/ | https://www.npmjs.com/ |
cnpm | http://r.cnpmjs.org/ | https://cnpmjs.org/ |
taobao | https://registry.npm.taobao.org/ | https://npm.taobao.org/ |
npmMirror | https://skimdb.npmjs.com/regi… | https://skimdb.npmjs.com/ |
nj (Fetch Error) | https://registry.nodejitsu.com/ | https://www.nodejitsu.com/ |
rednpm | http://registry.mirror.cqupt… | http://npm.mirror.cqupt.edu.cn/ |
edunpm(Fetch Error) | http://registry.enpmjs.org/ | http://www.enpmjs.org/ |