NVM - Node 版本管理器
Intro
NVM,全名 Node Version Manager 是一個「Node 版本管理器」,用來管理裝置上的 Node.js 版本。不同專案可能會使用不同的 Node.js 版本,NVM 讓我們可以在同一個裝置上安裝和切換不同的 Node.js 版本。
如果使用了不正確的版本可能會收到以下的錯誤:
This project requires Node version X
常用的 nvm 指令
nvm install <version> # 安裝指定版本的 Node.js
nvm uninstall <version> # 解除安裝指定版本的 Node.js
nvm use <version> # 切換到已安裝的 Node.js 版本
nvm ls # 列出所有本機已安裝的 Node.js 版本
nvm ls-remote # 查看所有可用的 Node.js 版本
nvm alias default <version> # 設定預設啟用的 Node.js 版本
nvm current # 檢查當前使用的 Node.js 版本
nvm --version | nvm -v # 查看 nvm 版本
nvm which 8.11.1 # 查看某一版本 nvm 的 PATH
查看當前使用的 Node.js 版本:
node -v
主要功能
- 安裝/卸載不同版本的 Node.js
- 切換不同版本的 Node.js
- 設定特定的 Node.js 版本作為預設啟用環境
- 列出已安裝的 Node.js 版本
- 安裝不同的套件至特定的 Node.js 版本上
安裝或更新 nvm
https://github.com/nvm-sh/nvm?tab=readme-ov-file#installing-and-updating
macOS/Linux
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
在 Windows 上,可以使用 nvm-windows 來安裝 NVM。
安裝完成後建議重開終端機,再檢查是否安裝成功:
$command -v nvm # 檢查 nvm 是否順利安裝成功
問題排除 (macOS)
https://github.com/nvm-sh/nvm?tab=readme-ov-file#troubleshooting-on-macos
(在 macOS 上)如果輸入安裝指令後仍然出現 nvm: command not found 的話,有可能是因為:
-
如果你使用的 shell 是
zsh(macOS 10.15 後的預設) :NVM 預設會尋找並更新.zshrc。如果你的系統沒有這個檔案的話,需先透過touch ~/.zshrc在根目錄上建立一個,再跑一次安裝指令。 -
如果你使用的是
bash(macOS 10.15 前的預設):你的系統可能還沒有.bash_profile或.bashrc這個檔案。需先透過touch ~/.bash_profile或touch ~/.bashrc在根目錄上建立一個,再跑一次安裝指令。 -
先前使用
bash但安裝了zsh:需要手動將這些指令加到~/.zshrc檔案並執行. ~/.zshrc:export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
.zshrc 或 .bashrc 檔案通常會位於使用者的根目錄底下,並且為隱藏檔案。在根目錄上沒有看到的話,可能是因為沒有開啟隱藏檔案的 顯示,按下 Command + Shift+ . 來顯示隱藏的檔案。