強力解決使用node版本管理工具 NVM 出現的問題(找不到 node,或者找不到 npm)

  • 2020 年 5 月 28 日
  • 筆記

nvm是好用的Nodejs版本管理工具,
通過它可以方便地在本地調換Node版本。

2020-05-28 當前長期穩定版12.17.0,於是

nvm install 12.17.0

然後C:/nvm/v12.17.0就安裝好了,

通過nvm use 12.17.0切換到該最新版本。
通過node -v可確認當前node版。

問題出現

氮素,npm -v卻報錯找不到npm-cli
顯然,安裝是不成功的。


這是因為npm沒有安裝成功,
查看C:/nvm/v12.17.0/node_modules下可發現,
是空的,沒有npm


而沒有安裝npm的原因,很有可能就是網路的原因,訪問不了。

嘗試解決

bd找到的解決辦法是:

nvm的配置里指定下載地址,即taobao鏡像地址

編輯C:/nvm/setting.txt文件如下:

root: C:\nvm
path: C:\Program Files\nodejs
arch: 64
node_mirror: //npm.taobao.org/mirrors/node/
npm_mirror: //npm.taobao.org/mirrors/npm/

清除舊版本:

nvm uninstall 12.17.0

然後手動刪除C:/nvm/v12.17.0/文件夾。

不然再次nvm install 12.17.0會提示已經安裝。

充滿信心地重新開始

nvm isntall 12.17.0

查看:

node -v

「病情」加重

MD,連node也不認了(環境變數一切都在)—_—


這時,內心不要慌,看下C:\Program Files\nodejs還在不在,

結果是,它不在了。。。詭異吧

鐵腕鎮壓

不信邪的我,決定手動解決這個問題。

這個nodejs文件夾,是一個link,win10下使用命令行:

mklink /D nodejs "c:\nvm\v12.17.0"

這樣就生成了nodejs的鏈接,把它放到C:\Program Files\下。

然後,node -v還是不認,原因是安裝的這版node文件名是node64.exe
這個好說,直接重命名,把 64 去掉,就正常了。


勝利在望

這時,npm的問題仍在。下一步就是解決 npm 的問題。

在執行nvm install 12.17.0的時候,會在nvm文件夾下創建一個temp文件夾,

npm的安裝包就會下載在這裡,但是注意:

  • 下載的安裝包為C:\nvm\temp\npm-v6.14.4.zip
  • 安裝完後會被刪除,文件夾會清空
  • 卡好時間,在下載完,安裝中的時點,把安裝包copy出來
  • 提示安裝完成後,會發現C:\nvm\v12.17.0\node_modules下空空如也
  • npm-v6.14.4.zip下的cli-6.14.4解壓到C:\nvm\v12.17.0\node_modules下,重命名為npm

至此,npm -v已經OK了。


或許,碰到這樣的問題,通過重新安裝nvm可以解決,但當你裝過多個node版本,並且裡面分別安裝了很多package的時候,代價有點大或者說還是太麻煩,所以,我上面解決方案還請考慮一下哦~~