本篇重點
- 透過 nvm 可在單一系統中無縫切換多種 Node.js 版本,解決全域套件衝突
- 了解 Windows 安裝 nvm 的流程
- 相比直接安裝,nvm 提供更彈性的環境隔離與版本降級、升級能力
- 建議安裝 nvm 前先移除既有 Node.js,避免檔案或路徑衝突
- 適合維護舊專案、測試新版 Node.js、團隊協作與 CI/CD 開發流程
nvm(Node Version Manager)是一套用來管理 Node.js 多個版本 的工具,可在同一台電腦安裝多個 Node.js,並快速切換目前使用的版本。
需要注意的是,Windows 所使用的是 nvm-windows,並不是 Linux 或 macOS 常見的 Shell 版本 nvm,兩者雖然用途相同,但屬於不同專案,指令與實作方式也略有差異。
Windows 常用的是 Corey Butler 維護的 nvm-windows。
Windows 安裝流程
步驟一:先移除既有 Node.js
若電腦已直接安裝 Node.js,建議先移除。
原因包括:
- 避免 PATH 衝突
- 避免 node.exe 指向錯誤位置
- 避免 npm 執行異常
移除後可重新開機一次。
步驟二:下載 nvm-windows
到專案的 GitHub Releases 下載最新版安裝程式 nvm-setup.exe

步驟三:執行安裝
雙擊 nvm-setup.exe 後,即可跟著流程完成安裝。

步驟四:確認安裝
到終端機輸入 nvm -v 確認回傳版本表示安裝成功

nvm vs 直接安裝 Node.js
| 比較項目 | nvm | 直接安裝 Node.js |
|---|---|---|
| 版本切換 | 指令即時動態切換,耗時極短 | 需手動移除舊版再安裝新版,耗時長 |
| 全域套件狀態 | 依 Node.js 版本獨立存放,相互隔離 | 全域共用,多專案易產生套件衝突 |
| 多版本管理 | 可同時安裝多版本 | 僅能保留一個版本 |
| 環境變數管理 | 自動修改與維護 Symlink 路徑 | 需依賴單一安裝檔覆寫或手動調整系統變數 |
| 維護與升降級 | 可一鍵安裝或移除指定版本 | 升降級過程容易殘留舊環境設定 |
實務應用情境
- 維護舊有專案(Legacy Projects):舊型專案可能依賴較舊的 Node.js 版本(如 v14 或 v16)或是特定的舊版套件,強行以最新版 Node.js 執行易引發語法或套件不相容的錯誤,因此需要調整成專案適合的版本。
- 平行開發多個專案:同時參與前端現代化專案(需 Node.js v20+)與後端微服務專案(需 Node.js v18),需頻繁於不同環境間切換。
- 套件升級相容性測試:在將專案的 Node.js 基底版本升級前,需在本地端快速切換至目標版本進行回歸測試,確認編譯與執行無誤。
常用指令
| 指令語法 | 功能說明 |
|---|---|
nvm version | 查看 nvm 版本 |
nvm list 或 nvm ls | 列出目前本機端已安裝的所有 Node.js 版本,並標示當前使用中的版本。 |
nvm list available | 列出官方伺服器上可供下載的 Node.js 版本清單(包含 LTS 與 Current)。 |
nvm install <version> | 下載並安裝指定的 Node.js 版本(例如:nvm install 24.18.0 或 nvm install latest)。 |
nvm use <version> | 切換當前系統使用的 Node.js 版本。需具備系統管理員權限以修改 Symlink。 |
nvm uninstall <version> | 移除指定的 Node.js 版本及其關聯的全域套件。 |
nvm current | 顯示當前正在使用的 Node.js 版本號。 |
nvm 實作流程
以下示範從安裝特定版本到模擬專案切換的操作流程。
步驟一:安裝專案所需的不同 Node.js 版本
假設目前有兩個專案,分別需要 Node.js v22.23.1 與 v24.18.0。
1 | # 安裝舊版 Node.js 供專案 A 使用 |
步驟二:驗證安裝列表
確認版本皆已正確安裝於本機。
1 | nvm list |
步驟三:切換並驗證環境(專案 A 開發情境)
進入專案 A 目錄前,切換至對應的環境。
1 | nvm use 22.23.1 |
步驟四:切換並驗證環境(專案 B 開發情境)
完成專案 A 開發後,準備進行專案 B 的作業。
1 | nvm use 24.18.0 |
結論
透過 nvm 預先安裝多個 Node.js 版本並以 nvm use 快速切換,可降低重新安裝的成本,提升專案維護效率。Windows 環境的用戶也可以使用 nvm-windows 達到一樣的效果!



