在咱們的平常開發中常常會遇到這種狀況:手上有好幾個項目,每一個項目的需求不一樣,進而不一樣項目必須依賴不一樣版的 NodeJS 運行環境。若是沒有一個合適的工具,這個問題將很是棘手。javascript
nvm 應運而生,nvm 是 Mac 下的 node 管理工具,有點相似管理 Ruby 的 rvm,若是須要管理 Windows 下的 node,官方推薦使用 nvmw 或 nvm-windows。不過,nvm-windows 並非 nvm 的簡單移植,他們也沒有任何關係。但下面介紹的全部命令,均可以在 nvm-windows 中運行。html
這裏只提供window安裝方法,其餘系統請參考原文,這裏是對安裝方法的一些總結和經驗,歡迎參考java
簡而言之,使用nvm能夠切換不一樣node和npm版本,更多nvm方法在最底部node
第一步git
首先最重要的是:必定要卸載已安裝的 NodeJS,不然會發生衝突。github
首先打開nodejs所在目錄,找到卸載文件文件雙擊中卸載便可,卸載後把沒有卸載掉的文件進行刪除,express
打開系統設置刪除環境變量,點擊肯定-肯定。(我這裏演示,因此最後點了取消)npm
而後下載 nvm-windows 最新安裝包,windows
下載nvm-setup.zip直接安裝便可。緩存
第二步
安裝nvm的時候會讓你選擇兩個安裝路徑,第一個是nvm的安裝目錄,也就是根目錄,第二個是nodejs版本的目錄,
這裏我都選擇安裝在了D盤
第三步
安裝完成後打開cmd控制檯,
(nodejs版本會持續更新,因此你們能夠進入官網查看版本號,或者經過命令 nvm ls available 查看最新nodejs版本 )
經過命令
nvm install 10.16.2
進行安裝
(這裏我安裝了兩個版本,一個最穩定10.16.2 ,和一個最新12.8.0)
而後找到對應版本進行安裝便可
這裏已經安裝過了,因此直接顯示already installed
此時就能夠進行切換nodejs版本了,
如我如今是10.16.2 要切換到12.8.0,代碼以下
nvm use 12.8.0
第四步
並非說NodeJS和NPM安裝好了之後就能直接使用了,這也是新手常常犯的一個錯誤之一。
由於默認狀況下,NPM安裝的模塊並不會安裝到NodeJS的程序目錄,好比上面安裝的時候咱們設置的D:\nodejs\目錄,
而是直接安裝到了C:\Users\Administrator目錄下
這裏咱們要分兩步,第一步修改NPM的緩存目錄和全局目錄路徑,將對應的模塊目錄改到D盤nodejs的安裝目錄,第二步是配置npm和nodejs的環境變量,這樣nodejs才能正確地調用對應的模塊。
咱們先來作第一步,在D盤nodejs目錄下建立兩個目錄,分別是node_cache和node_global,這是用來放安裝過程的緩存文件以及最終的模塊配置位置。配置完成後,執行下面這兩個命令:
npm config set prefix "D:\nodejs\node_global"
npm config set cache "D:\nodejs\node_cache"
(若是配置後不想默認安裝到這個位置,能夠在c盤全局搜索 .npmrc 文件,把這個代碼刪除便可)
將npm的全局模塊目錄和緩存目錄配置到咱們剛纔建立的那兩個目錄:
而後咱們打開cmd命令行界面,在使用命令安裝剛纔的cluster模塊,命令以下:
npm install cluster -g
而後打開剛纔建立的node_global目錄,能夠看到此時cluster目錄就安裝到這個目錄底下了。
第五步
而後咱們來配置npm的環境變量和nodejs的環境變量。在計算機圖標上點右鍵,選屬性,而後點擊高級系統配置,
彈出來的新窗口右下角有個環境路徑,點擊去,就能看到環境路徑的配置界面,咱們點擊新建。而後在彈出來的窗口裏,
變量名填:NODE_PATH
變量值填:D:\nodejs\node_modules\
填寫好後點肯定,而後就能看到咱們配置好的NPM環境路徑。
此時還須要修改一些nodejs默認的模塊調用路徑,由於模塊的安裝位置變了,若是nodejs的命令還到原來的位置去找,
確定是找不到安裝的模塊了。咱們在環境變量窗口,選擇Path,而後點擊右下角的編輯,而後選擇npm那個。
點擊右邊的編輯,將其修改成:D:\nodejs
而後點肯定,保存這個配置。
這個時候全部的配置工做纔算完成了,而後打開一個新的cmd窗口。先輸入命令:
node
進入nodejs的交互式命令控制檯,而後輸入:
require('cluster')
若是能正常輸出cluster模塊的信息,說明上面的全部配置就算生效了。
第六步
咱們還須要作的最後一個工做是,將npm的模塊下載倉庫從默認的國外站點改成國內的站點,這樣下載模塊的速度才能比較快,只須要一個命令便可,命令是:
(記得先按兩下Ctrl+c退出nodejs)
npm install cluster --registry https://registry.npm.taobao.org
上面的命令是臨時使用淘寶鏡像的地址來安裝cluster模塊。速度很是快。只用了不到0.8秒。
而咱們上面第一次安裝的時候用了差很少3秒多,速度快了3倍多。
若是想一直使用這個源的地址,那麼可使用下面這個命令來配置。
npm install -g cnpm --registry=https://registry.npm.taobao.org
配置好國內源後,安裝一個較大的模塊express,只用了不到6秒多一點,速度提高仍是很是可觀的
cnpm install express -g
注意,原來安裝方法是npm install [name] ,這裏使用淘寶鏡像後安裝變成 cnpm install [name]
不少難以安裝的包如node-sass等均可以用這個方法安裝
若是使用cnpm失敗說明 上述命令沒有配置成功,請再重試一遍
這裏-g的意思是全局安裝
至此,nodejs和npm在windows上的配置就所有完畢。
如下是經過nvm切換nodejs版本的命令
例如,咱們要安裝4.2.2版本,能夠用以下命令:
nvm install 4.2.2
nvm 遵照語義化版本命名規則。例如,你想安裝最新的 4.2 系列的最新的一個版本的話,能夠運行:
nvm install 4.2
nvm 會尋找 4.2.x 中最高的版原本安裝。
你能夠經過如下命令來列出遠程服務器上全部的可用版本:
nvm ls-remote
Windows 的話,就是:
nvm ls available
每當咱們安裝了一個新版本 Node 後,全局環境會自動把這個新版本設置爲默認。
nvm 提供了 nvm use 命令。這個命令的使用方法和 install 命令相似。
例如,切換到 4.2.2:
nvm use 4.2.2
切換到最新的 4.2.x:
nvm use 4.2
切換到 iojs:
nvm use iojs-v3.2.0
切換到最新版:
nvm use node
每次執行切換的時候,系統都會把 node 的可執行文件連接放到特定版本的文件上。
咱們還能夠用 nvm 給不一樣的版本號設置別名:
nvm alias awesome-version 4.2.2
咱們給 4.2.2 這個版本號起了一個名字叫作 awesome-version,而後咱們能夠運行:
nvm use awesome-version
下面這個命令能夠取消別名:
nvm unalias awesome-version
另外,你還能夠設置 default 這個特殊別名:
nvm alias default node
nvm ls
直接運行特定版本的 Node
nvm run 4.2.2 --version
在當前終端的子進程中運行特定版本的 Node
nvm exec 4.2.2 node --version
確認某個版本Node的路徑
nvm which 4.2.2
安裝 Node 的其餘實現,例如 iojs(一個基於 ES6 的 Node 實現,如今已經和 Node 合併)
nvm install iojs-v3.2.0
快捷命令:
原文連接:http://bubkoo.com/2017/01/08/quick-tip-multiple-versions-node-nvm/
原文連接:https://jingyan.baidu.com/article/48b37f8dd141b41a646488bc.html