自動切換 Node.js 的版本
前言
在開發 Node.js 專案時,因為版本更新的速度很快,新舊專案常常需要使用不同版本的 Node.js。
尤其是在維護舊專案時,經常會忘記目前專案適合的版本,每次手動切換 Node.js 版本,不僅麻煩,還容易出錯。
這篇文章將說明如何安裝 NVM,並且當進入專案目錄時,可以自動載入對應的 Node.js 版本。
1. 安裝 NVM
NVM 是一個管理多個 Node.js 版本的工具。通過以下指令來安裝 NVM:
1 | curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash |
執行完上述指令後,NVM 會被安裝到系統當中。接下來,需要重新載入設定,可以直接在 Terminal 中執行以下命令:
1 | source ~/.zshrc |
這樣,就可以在 Terminal 中使用 nvm
指令了。
2. 在專案中設定 Node.js 版本
接下來,需要在每個專案的根目錄下創建一個 .nvmrc
檔案,並在其中指定想要使用的 Node.js 版本。
例如,假設要使用 Node.js 18:
1 | echo "18" > .nvmrc |
1 | nvm use |
這樣,進入這個專案目錄時,就可以透過指令快速切換版本
3. 進入目錄時自動載入 Node.js 版本
但是每次都要執行指令太麻煩了,可以將流程改成進入專案目錄時自動載入對應的 Node.js 版本,所以需要在設定中加上一段腳本,並修改 cd
指令的行為。
這樣當每次切換到專案目錄時,就會自動載入正確的 Node.js 版本。
在 ~/.zshrc
中添加以下內容:
1 | # 自動載入 .nvmrc 指定的 Node.js 版本 |
1 | # 如果需要切換回預設的版本,可以改成以下的寫法 |
這段腳本首先定義了一個 autoload_nvmrc
,當檢測到 .nvmrc
檔案時,會自動執行 nvm use
切換到對應的 Node.js 版本。
接著,它覆蓋了系統預設的 cd
指令,在切換目錄時自動執行 autoload_nvmrc
4. 在 Terminal 啟動時自動載入 Node.js
為了讓這個自動化過程更加完善,可以在 Terminal 啟動時就檢查當前目錄是否有 .nvmrc
檔案,這樣即使直接打開 Terminal 進入專案目錄,Node.js 版本也會自動載入
在 ~/.zshrc
中添加以下內容:
1 | # 在 Terminal 啟動時檢查當前目錄是否需要載入 Node.js 版本 |
5. 確認設定是否成功
完成以上步驟後,重新打開一個新的 Terminal
或直接進入專案目錄
。
執行以下命令來確認當前使用的 Node.js 版本是否正確:
1 | node -v |
如果顯示的版本和 .nvmrc
中指定的版本一致,則說明自動載入功能已經生效