node 多版本控制

weixin_33807284發表於2017-07-19

一.什麼是nvm

 nvm 全稱是node verion manager(node版本管理器),使用它可以方便的安裝和維護多個node版本。

二、nvm安裝

1.線上安裝 安裝或者升級 可以通過使用curl

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash

或者 Wget:

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash

2.手動離線安裝
其實跟上面的很類似,其實上面的安裝方式,其實也是把nvm的程式碼直接通過git來到 ~/.nvm 目錄上的。也就是說,它就是標準的git託管的目錄。如果在沒有網路的情況下,如果你手上巧好有nvm git上某個版本的程式碼,完全可以直接拷貝到~/.nvm 目錄上,就可以使用了。如果更新的話也是一樣的。

3.shell配置
以上步驟安裝完成後,你還需要做shell命令的配置。在以下檔案中寫入這個程式碼。
(~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc).


export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

4.測試

重新開啟新的shell 視窗,檢視 nvm -v 。如果能顯示版本號,說明成功了。

三、nvm的基本使用

1.node 版本安裝

nvm install node

2.node 制定版本安裝

nvm install <version>

3.檢視node 所以版本

nvm ls node 

注意如果看到有箭頭指著的,或者星號(*)說明是當前正在使用版本

4.版本切換

nvm use <version>   

5.預設版本設定

nvm alias default <version> 

(注意:這個很重要,在每次重新開啟新的shell視窗,nvm 都會將當前node版本指向預設設定版本)

6.nvm alias default <version>命令來指定一個預設的node版本

其他使用方式 可以移步到官網檢視 https://github.com/creationix...

四、nvm 下node 版本 和 全域性 npm模組

在nvm中不光是node命令,還有npm和通過npm安裝的全域性依賴模組都會安裝到指定的版本目錄中,不必擔心互相影響。

注意:這跟 同樣是 node包管理器的(n 模組)是不一樣的,n模組雖然也可以方便的切換node的版本和
npm版本,但是對於全域性模組上的管理,npm 安裝的模組路徑均為 /usr/local/lib/node_modules ,當使用 n 切換不同的 node 版本時,實際上會共用全域性的 node/npm 目錄。 因此不能很好的滿足『按不同 node 版本使用不同全域性 node 模組』的需求。

五、使用 .nvmrc 檔案配置專案所使用的 node 版本

如果你的預設 node 版本(通過 nvm alias 命令設定的)與專案所需的版本不同,則可在專案根目錄或其任意父級目錄中建立 .nvmrc 檔案,在檔案中指定使用的 node 版本號(假如需要的版本是v6.4.0 ,那檔案直接寫v.6.4.0就好了),例如:

cd <專案根目錄>  #進入專案根目錄
echo 4 > .nvmrc #新增 .nvmrc 檔案
nvm use #無需指定版本號,會自動使用 .nvmrc 檔案中配置的版本
node -v #檢視 node 是否切換為對應版本

使用.nvmrc檔案,就算在一個伺服器上有多個不同node版本的專案,也可以進行獨立的開發和維護工作。

補充說明:Mac 下通過 brew install nvm 所安裝的 nvm ,由於安裝路徑不同,無法正確啟用。建議使用 brew uninstall nvm 解除安裝掉之後,通過本文的方案重新安裝一次。

相關文章