# Node.js 安裝與管理指南 本指南說明如何在不同作業系統上安裝和管理 Node.js 版本。 --- ## 安裝方式比較 | 方式 | 優點 | 缺點 | 適合對象 | |------|------|------|---------| | **官網安裝** | 簡單快速,一鍵安裝 | 無法輕鬆切換版本 | 初學者、單一專案 | | **NVM 安裝** | 可管理多個版本,輕鬆切換 | 需要學習指令 | 多專案開發者 | **建議:** 如果需要在不同專案間切換 Node.js 版本,推薦使用 NVM。 --- ## 方法一: 官網直接安裝 ### 下載與安裝 1. 前往 [Node.js 官方網站](https://nodejs.org/zh-tw) 2. 選擇版本: - **LTS (Long Term Support)**: 長期支援版,穩定性高 ✅ 推薦 - **Current**: 最新功能版,嘗鮮用 3. 下載對應作業系統的安裝檔 4. 執行安裝程式,按照步驟完成安裝 ### 驗證安裝 ```bash # 檢查 Node.js 版本 node -v # 檢查 npm 版本 npm -v ``` **優點:** - ✅ 安裝簡單,適合初學者 - ✅ 官方提供,安全可靠 **缺點:** - ❌ 無法同時管理多個版本 - ❌ 升級或降版較麻煩 --- ## 方法二: 使用 NVM 安裝 (推薦) NVM (Node Version Manager) 可以在同一台電腦上安裝和管理多個 Node.js 版本。 --- ### 安裝 NVM #### macOS / Linux **步驟 1: 執行安裝腳本** ```bash # 使用 curl 安裝 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash # 或使用 wget 安裝 wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash ``` **步驟 2: 設定環境變數** 安裝腳本會自動將配置寫入 shell 設定檔,但如果沒有自動寫入,需手動加入: ```bash # 1. 確認你使用的 shell echo $SHELL # 2. 根據 shell 類型編輯對應的設定檔 # 如果是 bash (輸出 /bin/bash) nano ~/.bashrc # 或 nano ~/.bash_profile # 如果是 zsh (輸出 /bin/zsh) - macOS 預設 nano ~/.zshrc ``` **步驟 3: 在設定檔中加入以下內容** ```bash export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # 載入 nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # 載入 nvm bash_completion ``` **步驟 4: 重新載入設定** ```bash # bash source ~/.bashrc # zsh source ~/.zshrc ``` **步驟 5: 驗證安裝** ```bash nvm --version # 應該顯示版本號,例如: 0.39.0 ``` #### Windows **步驟 1: 下載安裝程式** 1. 前往 [nvm-windows Releases](https://github.com/coreybutler/nvm-windows/releases) 2. 下載最新版本的 `nvm-setup.exe` **步驟 2: 執行安裝** 1. 執行下載的 `nvm-setup.exe` 2. 按照安裝精靈完成安裝 3. 安裝程式會自動設定環境變數 **步驟 3: 以系統管理員身分開啟終端機** - **命令提示字元 (CMD)**: 右鍵 → 以系統管理員身分執行 - **PowerShell**: 右鍵 → 以系統管理員身分執行 **步驟 4: 驗證安裝** ```bash nvm version # 應該顯示版本號,例如: 1.1.11 ``` **注意:** Windows 版本使用 `nvm version` 而非 `nvm --version` --- ## NVM 常用指令 ### macOS / Linux | 功能 | 指令 | 說明 | |------|------|------| | 列出可安裝版本 | `nvm ls-remote` | 列出所有可安裝的 Node.js 版本 | | 列出特定版本 | `nvm ls-remote 18` | 列出所有 18.x 版本 | | 安裝最新 LTS 版 | `nvm install --lts` | 安裝最新的 LTS 版本 | | 安裝指定版本 | `nvm install 18.17.0` | 安裝特定版本 | | 使用指定版本 | `nvm use 18.17.0` | 切換到指定版本 | | 使用最新 LTS 版 | `nvm use --lts` | 切換到最新 LTS 版本 | | 列出已安裝版本 | `nvm ls` | 顯示本機已安裝的版本 | | 查看當前版本 | `nvm current` | 顯示目前使用的版本 | | 設定預設版本 | `nvm alias default 18.17.0` | 設定開啟終端機時的預設版本 | | 解除安裝版本 | `nvm uninstall 16.0.0` | 移除指定版本 | --- ### Windows | 功能 | 指令 | 說明 | |------|------|------| | 列出可安裝版本 | `nvm list available` | 列出可安裝的版本 | | 安裝指定版本 | `nvm install 18.17.0` | 安裝特定版本 | | 使用指定版本 | `nvm use 18.17.0` | 切換到指定版本 | | 列出已安裝版本 | `nvm list` | 顯示本機已安裝的版本 | | 查看當前版本 | `node -v` | 顯示目前使用的版本 | | 解除安裝版本 | `nvm uninstall 16.0.0` | 移除指定版本 | --- ## 實用範例 ### 範例 1: 安裝並使用最新 LTS 版本 ```bash # macOS/Linux nvm install --lts nvm use --lts nvm alias default --lts # Windows nvm list available nvm install 20.11.0 # 根據顯示的 LTS 版本號安裝 nvm use 20.11.0 ``` --- ### 範例 2: 為不同專案使用不同版本 ```bash # 專案 A 使用 Node 16 cd ~/project-a nvm use 16 # 專案 B 使用 Node 18 cd ~/project-b nvm use 18 # 確認當前版本 node -v ``` --- ### 範例 3: 使用 .nvmrc 自動切換版本 在專案根目錄建立 `.nvmrc` 檔案: ``` 18.17.0 ``` 進入專案目錄時執行: ```bash nvm use # 輸出: Found '/path/to/project/.nvmrc' with version <18.17.0> # Now using node v18.17.0 ``` --- ### 範例 4: 安裝並測試多個版本 ```bash # 安裝多個版本 nvm install 16.20.0 nvm install 18.17.0 nvm install 20.11.0 # 列出已安裝的版本 nvm ls # 測試不同版本 nvm use 16 && node -v nvm use 18 && node -v nvm use 20 && node -v ``` --- ## 版本選擇建議 ### Node.js 版本說明 | 版本類型 | 說明 | 更新頻率 | 建議用途 | |---------|------|---------|---------| | **LTS** | 長期支援版 | 每 6 個月 | ✅ 生產環境、企業專案 | | **Current** | 最新功能版 | 每月 | 實驗、學習新功能 | | **Maintenance** | 維護版 | 僅安全更新 | 舊專案維護 | **查看版本支援狀態:** [Node.js Release Schedule](https://github.com/nodejs/release#release-schedule) --- ## 常見問題 ### Q: Windows 需要以系統管理員身分執行嗎? A: 是的!使用 `nvm install` 和 `nvm use` 時,必須以系統管理員身分執行終端機。 --- ### Q: 切換版本後全域安裝的套件消失了? A: 這是正常的!每個 Node.js 版本有獨立的全域套件。 **解決方法:** ```bash # 在新版本重新安裝全域套件 npm install -g npm yarn pnpm ``` 或者每個專案使用本地安裝 (推薦): ```bash npm install --save-dev 套件名稱 ``` --- ### Q: 如何更新 NVM 本身? A: **macOS/Linux:** ```bash # 重新執行安裝腳本 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash ``` **Windows:** - 下載最新版本的安裝程式重新安裝 --- ### Q: 專案應該使用哪個 Node.js 版本? A: 1. 查看專案的 `package.json`: ```json { "engines": { "node": ">=18.0.0" } } ``` 2. 查看專案的 `.nvmrc` 檔案 3. 查看專案文檔的建議版本 4. 若無指定,使用最新 LTS 版本 --- ## 進階技巧 ### 1. 快速切換常用版本 ```bash # 建立版本別名 nvm alias work 18.17.0 nvm alias personal 20.11.0 # 使用別名 nvm use work nvm use personal ``` --- ### 2. 在 package.json 中指定版本 ```json { "name": "my-project", "version": "1.0.0", "engines": { "node": ">=18.0.0 <19.0.0", "npm": ">=9.0.0" } } ``` 搭配工具檢查: ```bash npm install -g check-engine check-engine ``` --- ## 解除安裝 ### 官網安裝版 **macOS:** ```bash sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*} ``` **Windows:** - 控制台 → 程式集 → 解除安裝 Node.js --- ### NVM 版本 ```bash # 解除安裝特定 Node 版本 nvm uninstall 16.20.0 # 完全移除 NVM (macOS/Linux) rm -rf ~/.nvm # 並從 .bashrc 或 .zshrc 移除 NVM 相關設定 # 完全移除 NVM (Windows) # 執行 NVM 解除安裝程式 ``` --- ## 參考資源 - [Node.js 官方網站](https://nodejs.org/zh-tw) - [NVM GitHub (macOS/Linux)](https://github.com/nvm-sh/nvm) - [NVM Windows GitHub](https://github.com/coreybutler/nvm-windows) - [Node.js 版本支援時程](https://github.com/nodejs/release#release-schedule) - [npm 官方文檔](https://docs.npmjs.com/) ---