終端顯示的 Node.js 版本與目前專案要求不一致,或切換後仍呼叫舊版 node。
最快解法:用 NVM 分別安裝專案所需的 Node 18、20、22、24,再切換目前終端;新 Shell 的預設版本與專案版本檔則分開設定。完成後核對 node -v 和命令路徑;若結果不符,依序檢查 NVM 實作、Shell 初始化檔與 PATH。命令依據可參考 POSIX 版 NVM 官方文件。
適合同時維護不同 Node.js 版本專案、需要驗證相容性,或在遠端 Mac 設定開發環境的工程師。
若終端找不到 nvm,或切換後仍顯示舊版本,可直接參考後文的排查順序。
最後更新於 2026 年 10 月 15 日;Node.js 版本維護狀態核對自 Node.js 官方版本資訊。
NVM 怎麼管理多個 Node.js 版本:先分清實作
>NVM 的基本做法是把多個 Node.js 版本分別安裝,再讓目前 Shell 指向指定版本。切換版本不會把所有專案永久改成同一版;但也不能預設任何叫作 NVM 的工具都採用相同命令。POSIX Shell 版適用於 macOS、Linux 與 WSL;Windows 原生環境常用另一種實作,兩者的安裝、預設值與專案版本檔支援方式有差異。Windows 原生版的命令與系統需求可查閱其官方文件。
| 操作與決策 | macOS/Linux/WSL 的 POSIX 版 | Windows 原生版 |
|---|---|---|
| 安裝及列出版本 | nvm install 18、nvm ls |
先用 nvm list available 查看,再以完整版本號安裝、用 nvm list 列出 |
| 切換目前版本 | nvm use 18 |
nvm use <完整版本號> |
| 新終端的版本 | 可用 nvm alias default 22 設預設 |
切換會變更該實作所使用的連結;不要套用 POSIX 版 alias default |
| 專案版本檔 | 支援 .nvmrc;通常進入專案後執行 nvm use |
不應假設原生版會以同樣方式自動讀取 .nvmrc |
表中的主版本號用於說明 POSIX 版的命令形式;Windows 原生版依其文件選取並安裝可用的完整版本號。若讀者的環境不是表中所列情況,應先核對所安裝實作的官方說明,再複製命令。POSIX 版是依使用者與 Shell 載入的工具,而 Windows 原生版的切換涉及連結與系統 PATH,因此把兩邊的設定方式混用,是常見的環境錯配來源。
版本維護狀態也要納入選擇,而不只是看專案能否啟動。截至 2026 年 10 月 15 日,Node.js 官方資訊將 Node 18 與 Node 20 列為已停止維護版本,Node 22 與 Node 24 列為 LTS;舊版仍可用於相容性驗證,但不宜因此視為適合長期部署的版本。(Node.js 官方版本資訊)
NVM 如何查看已安裝版本並設定預設版本?
POSIX 版執行 nvm ls 查看本機版本,執行 nvm current 確認目前啟用版本;設定新 Shell 預設值可用 nvm alias default 22,再開新終端檢查。Windows 原生版用 nvm list 和 nvm current 檢查;其命令與預設行為不同,不要照抄 nvm alias default。
安裝並確認 Node 18、20、22、24
>先確認專案要求的是主版本,還是指定的完整版本號。只要求 Node 22 時,POSIX 版可執行 nvm install 22,由 NVM 安裝該主版本可用的版本;若專案固定使用某個修補版本,則明確指定完整版本號。Node 官方歸檔頁可核對各主版本的版本清單與維護狀態,例如 Node 18 歸檔會標示該版本已停止維護。
在 macOS 或 Linux 的 POSIX Shell,可依序安裝專案需要的主版本:
nvm install 18
nvm install 20
nvm install 22
nvm install 24
nvm ls
安裝全部版本並非必要;只裝目前專案及需要測試的版本,可減少不必要的下載與後續管理。Windows 原生版則先執行 nvm list available,從清單選擇要測試的完整版本號,再執行 nvm install <完整版本號>,最後用 nvm list 確認已安裝。
安裝完成後,不要只看 NVM 清單就開始建置。還要在目標終端確認 node -v、npm -v,並使用 command -v node 查看目前命令位置;POSIX 版也可用 nvm which 22 查看所選版本的執行檔路徑。這能辨別「版本已安裝」與「目前命令確實使用該版本」兩件不同的事。
切換目前終端與預設版本
>NVM 怎麼在 Node 18、20、22、24 之間切換?
POSIX 版在目前 Shell 執行 nvm use 18、nvm use 20、nvm use 22 或 nvm use 24。切換後立即執行 node -v;若想確認執行檔位置,再執行 command -v node。這是目前終端的切換,不等於替每個專案固定版本。
想讓新開的 Shell 使用固定預設版本,可執行 nvm alias default 22,再關閉並重新開啟終端驗證。預設值只適合作為沒有專案指定版本時的起點;進入要求 Node 18 的舊專案,仍應依專案設定切換,而不是因為全域預設是 22 就假設相容。Windows 原生版的切換流程依其自身文件操作,不能以 POSIX 版別名命令代替。
專案版本檔與環境選擇
>POSIX 版可在專案根目錄放置 .nvmrc,只寫所需版本,例如:
22
之後在該目錄執行 nvm use,即可讀取版本檔指定的版本;若尚未安裝,可先執行 nvm install。不過,進入資料夾後自動切換並非所有 Shell 的預設行為,通常需要額外的 Shell 設定;若沒有設定,請在專案目錄明確執行命令並確認 node -v。POSIX 版對 .nvmrc 的處理方式可在前述官方文件中核對。
NVM 如何讓不同專案使用對應的 Node.js 版本?
POSIX 版可為每個專案提交各自的 .nvmrc,並在開始安裝依賴或執行測試前執行 nvm use。這樣切換依據會跟著專案,而不是只依賴開發者記得上次選了哪個版本。Windows 原生版應查核其文件與團隊 Shell 設定;不要因為看到 .nvmrc 檔案就推定 nvm use 會自動讀取。
選擇方式可以用以下對照判斷:
- 只需在目前工作階段測試某一版:手動切換,並在測試紀錄中保留
node -v。 - 多個專案各自固定版本:優先使用專案版本檔;若使用 Windows 原生版,先確認該實作是否支援相同流程。
- 個人新終端需要常用版本:設定預設值,但每次進入專案仍核對專案要求。
- 團隊建置或部署:在建置環境明確指定版本;不要只依賴互動式終端的預設值。
切換未生效時的排查順序
>NVM 切換後終端仍顯示舊版本,怎麼處理?
依序確認執行環境、NVM 載入狀態、命令路徑與目前版本,而不是立刻重裝所有 Node.js。以下順序能把 Shell 設定錯誤與 PATH 優先順序分開定位。
- 確認 NVM 是否載入。在 macOS、Linux 或 WSL 執行
command -v nvm。POSIX 版 NVM 是由 Shell 載入的函式;若沒有輸出,檢查目前 Shell 對應的初始化檔,例如~/.zshrc或~/.bashrc,並確認其中有載入 NVM 的設定。修改後重新開終端再測。 - 確認安裝與啟用的是同一套實作。Windows 原生終端與 WSL 是不同環境;在一邊安裝的 Node.js 版本,不會因此自動出現在另一邊的清單。查
nvm list或nvm ls,確認目標版本確實安裝在目前所用的 NVM 中。 - 核對命令解析路徑。切換後查看
command -v node;若路徑指向系統安裝目錄而非 NVM 管理的版本,檢查PATH是否有其他 Node.js 安裝路徑排在前面。Windows 原生版則依文件檢查NVM_SYMLINK是否有效,以及是否有舊安裝位置優先於該路徑。 - 在同一終端重做切換並立即驗證。先切換,再執行
node -v、npm -v;不要在一個終端切換,卻在另一個終端檢查。若新終端預設仍不對,POSIX 版檢查nvm alias default;Windows 原生版則確認其目前使用版本與連結狀態。 - 檢查全域工具是否隨版本安裝。NVM 管理的不同 Node.js 版本各自有對應的 npm 與全域套件位置;切換後,某個全域工具消失不一定代表切換失敗,可能只是尚未安裝在目標版本下。核對
npm -v,再於需要的版本安裝專案工具;避免用舊版本的全域套件路徑推斷新版本也應有相同工具。
Windows 原生版切換失敗時,可參考其官方常見問題說明:連結不存在、無效,或目標路徑已被實際資料夾佔用,都可能造成 symlink 問題。這與 POSIX 版的 Shell 初始化問題不同,應按各自文件處理。
遠端 Mac 的切換驗證清單
>若 Node.js 安裝在遠端 Mac,請在實際執行建置與測試的那個 Shell 驗證,不要只依本機終端或圖形化編輯器內的版本資訊判斷。Zilmac 的遠端 Mac 環境說明與雲端 Mac 租用資訊可供查看服務相關資料;具體可用環境仍應以頁面實際列示內容為準,不能由「遠端 Mac」推定所有環境設定相同。
在遠端終端依序執行:
pwd
command -v nvm
nvm ls
nvm use 22
node -v
npm -v
command -v node
再切換到專案目錄執行 nvm use,確認版本檔是否生效;關閉終端後重新連線,再核對新 Shell 的預設版本。若專案使用 Node 18 或 20,因這兩個版本在 2026 年 10 月 15 日已列為停止維護,應把用途限定在相容性測試或既有環境需求,並記錄測試版本;Node 22 與 24 的維護狀態則以 Node.js 官方版本資訊為準。
收尾時先核對四項:專案指定版本、目前所在終端、node -v 輸出、node 命令路徑;再用新終端確認預設值。若目前環境需要切換遠端 Mac 做開發或版本驗證,應先對照 Zilmac 實際提供的環境資訊;若工作必須長期持續使用固定實體設備,則先比較自有 Mac 與遠端使用方式,再決定是否租用。
在 Zilmac 雲端 Mac,靈活管理 Node.js 開發環境
租用完整 macOS 環境,按專案需求安裝 Node.js 與所需工具,方便測試不同版本。
透過 SSH 遠端操作,將建置與測試工作交給雲端 Mac,本機無須長期配置額外硬體。 — 立即了解套餐方案