【Nodejs】使用 nvm 管理不一樣版本的 node 與 npm,與nodjs安裝方法

在咱們的平常開發中常常會遇到這種狀況:手上有好幾個項目,每一個項目的需求不一樣,進而不一樣項目必須依賴不一樣版的 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版本的命令

安裝多版本 node/npm

例如,咱們要安裝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

  

快捷命令:

  • nvm install node 安裝最新版 Node
  • nvm install iojs 安裝最新版 iojs
  • nvm install unstable 安裝最新不穩定版本的 Node

原文連接:http://bubkoo.com/2017/01/08/quick-tip-multiple-versions-node-nvm/

原文連接:https://jingyan.baidu.com/article/48b37f8dd141b41a646488bc.html

相關文章
相關標籤/搜索