【Node.js】使用 nvm 管理 Node.js 版本重點整理

【Node.js】使用 nvm 管理 Node.js 版本重點整理

本篇重點

  • 透過 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-windows

步驟三:執行安裝

雙擊 nvm-setup.exe 後,即可跟著流程完成安裝。

安裝 nvm-setup.exe

步驟四:確認安裝

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

確認 nvm 版本

nvm vs 直接安裝 Node.js

比較項目nvm直接安裝 Node.js
版本切換指令即時動態切換,耗時極短需手動移除舊版再安裝新版,耗時長
全域套件狀態依 Node.js 版本獨立存放,相互隔離全域共用,多專案易產生套件衝突
多版本管理可同時安裝多版本僅能保留一個版本
環境變數管理自動修改與維護 Symlink 路徑需依賴單一安裝檔覆寫或手動調整系統變數
維護與升降級可一鍵安裝或移除指定版本升降級過程容易殘留舊環境設定

健忘筆記

nvm 將不同版本分別存放在各自的資料夾,並建立捷徑(Symlink)供系統存取,當執行 nvm use <版本號> 時,nvm 會將「捷徑」指向對應的版本資料夾,即可瞬間切換。

實務應用情境

  • 維護舊有專案(Legacy Projects):舊型專案可能依賴較舊的 Node.js 版本(如 v14 或 v16)或是特定的舊版套件,強行以最新版 Node.js 執行易引發語法或套件不相容的錯誤,因此需要調整成專案適合的版本。
  • 平行開發多個專案:同時參與前端現代化專案(需 Node.js v20+)與後端微服務專案(需 Node.js v18),需頻繁於不同環境間切換。
  • 套件升級相容性測試:在將專案的 Node.js 基底版本升級前,需在本地端快速切換至目標版本進行回歸測試,確認編譯與執行無誤。

常用指令

指令語法功能說明
nvm version查看 nvm 版本
nvm listnvm ls列出目前本機端已安裝的所有 Node.js 版本,並標示當前使用中的版本。
nvm list available列出官方伺服器上可供下載的 Node.js 版本清單(包含 LTS 與 Current)。
nvm install <version>下載並安裝指定的 Node.js 版本(例如:nvm install 24.18.0nvm 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。

bash
1
2
3
4
5
# 安裝舊版 Node.js 供專案 A 使用
nvm install 22.23.1

# 安裝新版 Node.js 供專案 B 使用
nvm install 24.18.0

步驟二:驗證安裝列表
確認版本皆已正確安裝於本機。

bash
1
2
3
nvm list
# 24.18.0
# 22.23.1

步驟三:切換並驗證環境(專案 A 開發情境)
進入專案 A 目錄前,切換至對應的環境。

bash
1
2
3
4
5
nvm use 22.23.1
# Now using node v22.23.1 (64-bit)

node -v
# v22.23.1

步驟四:切換並驗證環境(專案 B 開發情境)
完成專案 A 開發後,準備進行專案 B 的作業。

bash
1
2
3
4
5
nvm use 24.18.0
# Now using node v24.18.0 (64-bit)

node -v
# v24.18.0

結論

透過 nvm 預先安裝多個 Node.js 版本並以 nvm use 快速切換,可降低重新安裝的成本,提升專案維護效率。Windows 環境的用戶也可以使用 nvm-windows 達到一樣的效果!

延伸閱讀

【Node.js】使用 nvm 管理 Node.js 版本重點整理

https://forgetfulengineer.github.io/Backend/Nodejs/use-nvm-to-manage-nodejs-version/

發表於

2026-07-20

更新於

2026-07-20

許可協議


你可能也想看

【PHP、JavaScript】陣列自定義排序
【PHP、JavaScript】三種實用的符號運算子 ?:、??、??=
【Node.js】解析 CJS 與 ESM 核心差異和專案轉換

評論

複製完成