nvm是用來管理多個node和npm版本的工具。不同項目,所依賴的node版本也不盡相同。安裝nvm管理node版本,友善切換。
注意:之前安裝過node的要删除幹淨。
Nvm安裝
1、下載下傳nvm安裝包。
安裝包有兩種,一種是 non-setup,就是不需要安裝的,直接下載下傳解壓就好。一種是我們常見的setup版本(裡邊有 exe安裝檔案)。安裝完成後,安裝目錄是這樣的:
2、進入安裝檔案目錄,找到setting.txt。
這裡重點說一下:
root 這個是安裝後自動填充的。代表nvm安裝路徑。
path 這個也是安裝後自動填充的。代表node快捷方式。
node_mirror, npm_mirror 要設定為淘寶鏡像,否則下載下傳nodejs很很慢。
還有一個proxy(代理),如果你的公司的網絡設定了代理,要把代理位址填寫進去,否則下載下傳不了。
3、安裝制定版本的node
安裝的指令很簡單:
nvm install <node版本号>
// 比如安裝 10.16.0 這個版本 --> nvm install 10.16.0
具體要安裝哪個版本,根據自己項目的需要,還可以去 nodejs官網 查找:https://nodejs.org/en/download/releases/
可以看到所有的node版本。
項目需要,我這裡指定安裝 10.16.0 這個版本。
nvm install 10.16.0
4、安裝成功之後 可以檔案夾中看到
運作指令 同樣可以檢視到。
Nvm環境變量配置
在Windows的
系統變量
和
使用者變量
中,均添加
NVM_HOME
和
NVM_SYMLINK
這兩個名稱的變量,前一個變量的值為nvm的安裝路徑,如
C:\Dev\nvm
,後一個變量的值為node.js的安裝路徑,如
C:\Dev\nodejs
。除此之外,還要確定系統變量
PATH
中,有
%NVM_HOME%
和
%NVM_SYMLINK%
這兩個值,每個值的後面要加上英文的分号
;
。(注意不要有空格)。
設定環境變量:
NVM_HOME: nvm所在的位址 也就是 上邊 setting.txt 中的 root
NVM_SYMLINK: node快捷方式所在目錄 也就是 上邊 setting.txt 中的 path
PATH:%NVM_HOME%;%NVM_SYMLINK%; path添加在最後邊就好,不要覆寫了原來的path。
注意: 添加的時候不要有空格。
Nodejs的Npm安裝
安裝完成之後,在cmd中驗證一下突然發現,node可以,npm卻不行。很顯然,npm沒有安裝上,并沒有npm.cmd這個指令。
原因: 這是因為 nvm 安裝的時候 先下載下傳node,node下載下傳完畢之後 開始下載下傳 npm,這時候你會在安裝目中看到一個 temp 的檔案夾,點進去發現裡邊有個檔案和壓縮包。而這個壓縮包就是我們需要對應node版本的npm。但是nvm并沒有自動将這個注入到對應node版本中的node_moudles裡邊去 而是将它删除了(也不知道為什麼)。是以我們在檢視npm -v時候出現了上邊這一幕。
解決辦法: 手動安裝。
當你在安裝node版本的時候,注意看 temp 檔案夾,及時的将 壓縮包複制出來 進行解壓。解壓到對應node版本的 node_moudles中,并将檔案夾名稱改為 npm ,如圖所示
如果你手慢,複制不了也沒關系,直接去 node_mirror 官網下載下傳對應版本的npm就可以。位址為:https://npm.taobao.org/mirrors/npm/ (注意對應版本).
然後将檔案中 bin 下邊的 npm npm.cmd 拷貝出來放到node.exe統計目錄下:
然後再試一試npm安裝好了沒有:
坑
有個坑得說一下。
現在安裝一個指令,試一試
npm i -g nrm
安裝了一個node鏡像管理,運作一下,發現報錯了:nrm 不是内部或者外部指令...
看一下nodejs檔案夾
檔案夾下并沒有 nrm.cmd。
這時候要看看npm全局配置了,看看prefix是不是指向nodejs安裝目錄以及cache是不是指向的是node_cache,如果不是要進行如下配置:
npm config set prefix "D:\node\nodejs"
npm config set cache "D:\node\nodejs\node_cache"
### 再系統環境變量上增加
NODE_PATH E:\node\nodejs\node_modules
再次安裝 npm i -g nrm
好了,這下大功告成了。