nvmNode.js 的多版本管理器,當你的開發環境有多個不同時代的 Node.js 專案、橫跨不同版次的 Node.js 時,nvm 就派的上用場。

Node.js 的版本管理器不只有 nvm,由於 nvm 只支援 macOS 與 Linux,在 Windows 下,改用 NVS 是更好的選擇。(也可參閱另一篇〈在 Windows 建置以 Visual Studio 為基礎的 Python / Node.js 開發環境

nvm 的問題是,文件與說明又臭又長,其實 80% 的人只用的到 20% 的功能,所以這裡寫下個人常用到的功能與指令。

更新 nvm

更新 nvm 與從零安裝 nvm 是同一條命令:

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

這個安裝腳本會自行判斷是新裝還是更新。

要注意網址內的版號也是要跟著改的。

更新 npm

npm 是 Node.js 的套件管理器,它也是需要更新的,nvm 有專門更新 npm 的指定:

nvm install-latest-npm

列出系統內各 Node.js 版本

nvm ls

以本人的環境為例,有列出下列版本:

       v14.17.5
       v14.18.0
->     v14.18.1
default -> 14.18.1 (-> v14.18.1)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v14.18.1) (default)
stable -> 14.18 (-> v14.18.1) (default)
lts/* -> lts/fermium (-> v14.18.1)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.7 (-> N/A)
lts/fermium -> v14.18.1

看似很亂,其實大部份情況下只要關注那 default 的版號即可。

那些 defaultiojs 等等的是 alias,可以理解為標籤,default 標定的版號就是個人帳戶下預設的 Node.js 版號。

列出可安裝的 Node.js LTS 版本

nvm ls-remote --lts

建議都使用 LTS 版本,避免追著版號跑的窘境發生。

安裝 Node.js

安裝目前的 14.18.1 LTS 版,並且設為預設版次:

nvm install 14.18.1 --default

建議都使用 LTS 版本,避免追著版號跑的窘境發生。

設定預設版本

同樣的以 14.18.1 LTS 版為例:

nvm alias default 14.18.1

為專案指定 Node.js 版本

在專案的資料夾內,放一個 .nvmrc 檔案,在裡面寫下該專案的 Node.js 版號,例如某專案要用 14.18:

14.18

進入該專案資料夾後,執行 nvm use 即會自動切換成 .nvmrc 指定的版本。

如果在安裝 nvm 時,有設定好與 shell 的整合的話,應該會自動幫我們做 nvm use 的動作。