NVM 安裝指南
簡介
NVM(Node Version Manager)是一個基於 POSIX Shell 的 Node.js 版本管理工具,可讓你在同一台機器上快速安裝並切換不同版本的 Node.js。
支援平台: Unix、macOS、Windows WSL
提示
NVM 不支援 Windows 原生環境。Windows 使用者可改用 nvm-windows。
安裝 NVM
使用 curl 安裝(推薦)
1
| curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash
|
使用 wget 安裝
1
| wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash
|
安裝腳本會將 NVM 儲存庫複製到 ~/.nvm,並自動在 Shell 設定檔(~/.bashrc、~/.zshrc 或 ~/.profile)中加入以下內容:
1 2
| export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
設定 Shell 環境
安裝完成後,重新載入 Shell 設定檔使 nvm 指令生效:
| Shell |
指令 |
| bash |
source ~/.bashrc |
| zsh |
source ~/.zshrc |
| ksh |
. ~/.profile |
或直接關閉並重新開啟終端機視窗。
驗證安裝
若顯示 nvm,表示安裝成功。
提示
請使用 command -v nvm 而非 which nvm,因為 nvm 是一個 Shell 函式,而非可執行的二進位檔案。
基本使用
安裝 Node.js
1 2 3 4 5 6 7 8
| nvm install node
nvm install 20.11.0
nvm install --lts
|
切換 Node.js 版本
1 2 3 4 5 6 7 8
| nvm use node
nvm use 20.11.0
nvm use --lts
|
列出版本
1 2 3 4 5 6 7 8
| nvm ls
nvm ls-remote
nvm ls-remote --lts
|
設定預設版本
新開啟的終端機會使用預設版本,可透過以下指令設定:
1 2 3 4 5
| nvm alias default node
nvm alias default 20
|
查看目前使用版本
取得執行檔路徑
常用指令速查
| 指令 |
說明 |
nvm install node |
安裝最新 Node.js 版本 |
nvm install --lts |
安裝最新 LTS 版本 |
nvm install <version> |
安裝指定版本 |
nvm uninstall <version> |
解除安裝指定版本 |
nvm use <version> |
切換至指定版本 |
nvm use --lts |
切換至最新 LTS 版本 |
nvm ls |
列出本機已安裝版本 |
nvm ls-remote |
列出遠端可安裝版本 |
nvm current |
顯示目前使用的版本 |
nvm alias default <version> |
設定預設版本 |
nvm deactivate |
還原 PATH 至 nvm 啟用前狀態 |
nvm cache clear |
清除已快取的下載檔案 |
使用 .nvmrc 管理專案版本
在專案根目錄建立 .nvmrc 檔案,可讓團隊成員快速切換至一致的 Node.js 版本。
1 2 3 4 5 6 7 8
| echo "20.11.0" > .nvmrc
echo "lts/*" > .nvmrc
echo "node" > .nvmrc
|
設定完成後,在專案目錄執行以下指令即可自動切換版本:
若版本尚未安裝,執行 nvm install 會自動安裝並切換:
版本升級(保留套件)
安裝新版本時,可同時遷移舊版本已安裝的全域套件:
1 2 3 4 5
| nvm install --lts --reinstall-packages-from=current
nvm install 20 --reinstall-packages-from=18
|
解除安裝 NVM
1 2 3 4
| nvm_dir="${NVM_DIR:-~/.nvm}" nvm unload rm -rf "$nvm_dir"
|
接著手動編輯 ~/.bashrc(或對應的 Shell 設定檔),移除以下幾行:
1 2 3
| export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" [[ -r $NVM_DIR/bash_completion ]] && \. $NVM_DIR/bash_completion
|
常見問題排查
nvm: command not found
安裝後若找不到 nvm 指令,請重新載入 Shell 設定檔,或重新開啟終端機視窗。
1 2
| source ~/.bashrc source ~/.zshrc
|
WSL 無法連線至 raw.githubusercontent.com
若在 WSL 環境中遇到 DNS 解析失敗,可嘗試以下修正:
1 2 3 4 5
| sudo rm /etc/resolv.conf sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf' sudo bash -c 'echo "[network]" > /etc/wsl.conf' sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf' sudo chattr +i /etc/resolv.conf
|
macOS zsh 找不到 .zshrc
macOS 10.15 以後預設使用 zsh,若尚未建立 .zshrc,請先執行:
然後重新執行安裝腳本。
安裝失敗時清除快取
參考資料