在現代前端和後端開發中,Node.js 已經成為不可或缺的技術棧。然而,隨著項目的多樣化,開發者經常會遇到不同項目依賴不同 Node.js 版本的情況。例如,一個老項目可能需要 Node.js 14,而一個新項目則需要 Node.js 18 或更高版本。手動切換和管理這些版本不僅效率低下,還容易引發衝突。
這就是 nvm (Node Version Manager) 登場的原因。NVM 是一個強大的命令行工具,旨在幫助開發者輕鬆地在不同 Node.js 版本之間進行安裝、切換和管理。本文將為您詳細介紹如何進行 nvm安裝,並掌握其核心用法,讓您的 Node.js 開發環境從此變得井然有序。
為什麼需要NVM?NVM的優勢
在深入了解 nvm安裝 過程之前,我們先來探討一下為什麼 NVM 是 Node.js 開發者的必備工具:
- 多版本共存與無縫切換: 這是 NVM 最核心的功能。它允許您在同一台機器上安裝多個 Node.js 版本,並根據項目需求隨時切換,避免了版本衝突問題。
- 簡化安裝過程: 無需手動下載和配置 Node.js,NVM 可以通過簡單的命令自動下載並安裝指定版本的 Node.js。
- 環境隔離: 每個 Node.js 版本在 NVM 中都是獨立安裝的,其對應的 npm 包也會被隔離管理,確保不同項目的依賴互不干擾。
- 便於測試與升級: 您可以輕鬆安裝新的 Node.js 版本進行測試,而不會影響當前穩定的開發環境,這對於升級項目依賴或探索新特性非常方便。
nvm安裝前準備
在開始 nvm安裝 之前,請確保您的系統滿足以下基本要求:
- Git: 儘管不是強制要求,但 NVM 的某些安裝方式和內部機制可能需要 Git。如果您還沒有安裝 Git,建議先行安裝。
- 刪除現有Node.js安裝: 為了避免與 NVM 管理的 Node.js 版本衝突,強烈建議您在進行 nvm安裝 前,卸載系統中已有的 Node.js 和 npm。
- 網路連接: NVM 在安裝 Node.js 版本時需要從互聯網下載相關文件。
nvm安裝:分步指南
NVM 的安裝過程因操作系統的不同而略有差異。我們將分別介紹 macOS/Linux 和 Windows 平台的安裝方法。
macOS 和 Linux 上的 nvm安裝
在 macOS 和大多數 Linux 發行版上,nvm安裝 通常通過官方提供的安裝腳本進行。
1. 使用 cURL 或 Wget 安裝
這是推薦的安裝方式。打開您的終端(Terminal),然後執行以下任一命令:
使用 cURL:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
或使用 Wget:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
提示: 請注意,上述命令中的 v0.39.7 是當前寫稿時的最新穩定版本號。您可以在 NVM 的 GitHub 倉庫(https://github.com/nvm-sh/nvm/releases)中找到最新的版本號,並替換命令中的版本號以確保安裝最新版本。
2. 配置環境變數
安裝腳本會自動嘗試修改您的 shell 配置文件(例如 ~/.bashrc, ~/.zshrc, ~/.profile 或 ~/.bash_profile),將 NVM 的載入腳本添加到其中。這是為了確保每次打開新的終端窗口時,NVM 都能被正確載入。
安裝完成後,您需要重新啟動終端或手動運行以下命令來使配置生效:
source ~/.bashrc
(如果您的 shell 是 Bash)
或
source ~/.zshrc
(如果您的 shell 是 Zsh)
如果您不確定使用哪個,可以嘗試執行 echo $SHELL 來查看您的當前 shell。
3. 驗證 nvm安裝
在重新啟動終端或執行 source 命令后,運行以下命令來驗證 NVM 是否已成功安裝:
nvm --version
如果顯示了 NVM 的版本號,則表示 nvm安裝 成功。如果提示 command not found,請檢查您的 shell 配置文件是否正確添加了 NVM 的載入腳本,並確保已重新載入配置文件。
Windows 上的 nvm安裝
請注意,Windows 上的 NVM 並非與 macOS/Linux 上的 NVM 是同一個項目。Windows 版本由 Corey Butler 維護,名為 nvm-windows,其功能和用法與 Unix-like 系統上的 NVM 略有不同,但目標一致。
在進行 nvm安裝 前,請確保已卸載系統中的 Node.js。
1. 下載 nvm-windows 安裝程序
訪問 nvm-windows 的 GitHub 發布頁面:https://github.com/coreybutler/nvm-windows/releases
在最新版本下找到並下載 nvm-setup.zip 文件。解壓后,運行 nvm-setup.exe 安裝程序。
2. 運行安裝程序
按照安裝嚮導的提示進行操作:
- 許可協議: 同意許可協議。
-
選擇 NVM 安裝路徑: 建議使用默認路徑
C:UsersYourUserNameAppDataRoaming vm(或類似路徑),或選擇一個沒有空格且易於訪問的路徑,例如C: vm。 -
選擇 Node.js 安裝路徑: 這是 NVM 將安裝不同 Node.js 版本的目錄。同樣建議使用默認路徑或一個沒有空格的路徑,例如
C: odejs。 - 完成安裝: 點擊「安裝」並等待安裝完成。安裝程序會自動配置所需的系統環境變數。
3. 驗證 nvm安裝
打開一個新的命令提示符 (CMD) 或 PowerShell 窗口。運行以下命令:
nvm version
如果顯示了 NVM for Windows 的版本號,則表示 nvm安裝 成功。如果提示 command not found 或其他錯誤,請檢查您的系統環境變數 PATH 中是否包含了 NVM 和 Node.js 的路徑。通常情況下,安裝程序會自動處理。
NVM 基本用法
成功完成 nvm安裝 后,您就可以開始利用它來管理 Node.js 版本了。
1. 安裝 Node.js 版本
使用 nvm install 命令安裝您需要的 Node.js 版本。您可以指定具體的版本號,也可以使用關鍵詞。
-
安裝最新穩定版:
nvm install node -
安裝最新的 LTS (長期支持) 版本:
nvm install lts -
安裝指定版本:
nvm install 16.17.0
nvm install 18.12.0NVM 會自動下載對應的 Node.js 和 npm 版本並進行安裝。
2. 切換 Node.js 版本
安裝了多個版本后,您可以使用 nvm use 命令來切換當前使用的 Node.js 版本。
-
切換到指定版本:
nvm use 16.17.0執行此命令后,當前終端會話中的 Node.js 版本就會切換到 16.17.0。
-
驗證當前 Node.js 版本:
node -v
npm -v
3. 查看已安裝的 Node.js 版本
使用 nvm ls (或 nvm list) 命令可以查看所有已安裝的 Node.js 版本,並會高亮顯示當前正在使用的版本。
nvm ls
示例輸出:
-> v16.17.0
v18.12.0
v20.0.0
default -> 16.17.0 (-> v16.17.0)
其中 -> 指向的是當前正在使用的版本。
4. 設置默認 Node.js 版本
為了避免每次打開新終端時都手動切換版本,您可以設置一個默認版本。
nvm alias default 16.17.0
這將使得每次打開新終端時,系統默認使用 Node.js 16.17.0 版本。
5. 卸載 Node.js 版本
如果您不再需要某個 Node.js 版本,可以使用 nvm uninstall 命令將其卸載。
nvm uninstall 16.17.0
注意: 不要卸載當前正在使用的 Node.js 版本。請先切換到其他版本或卸載 NVM 本身。
NVM 常見問題(FAQ)
如何更新NVM自身?
macOS/Linux: 您可以重新運行最初的安裝腳本。NVM 會檢測到現有安裝並提示您更新。
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash (替換為最新版本號)
或者,如果您是通過 `git clone` 安裝的,可以進入 NVM 目錄執行 `git pull`。Windows: 訪問 nvm-windows 的 GitHub 發布頁面,下載最新版的 `nvm-setup.exe` 並重新運行安裝程序即可覆蓋更新。
為何安裝后NVM命令仍然找不到?
這通常是因為 NVM 的環境變數沒有正確載入到您的 shell 中。
- macOS/Linux: 確保 NVM 的載入腳本已添加到您的 shell 配置文件(如 `.bashrc`, `.zshrc`, `.profile`)中,並且您已經重新啟動了終端或執行了 `source` 命令來重新載入配置。
- Windows: 檢查系統環境變數 `PATH` 中是否包含 NVM 的安裝路徑。如果沒有,嘗試重新運行安裝程序或手動添加。
NVM和直接安裝Node.js有什麼區別?
直接安裝 Node.js 會將一個版本的 Node.js 全局安裝到您的系統中,並且難以在多個版本之間切換。而 NVM 作為一個版本管理工具,允許您在同一台機器上安裝、管理和切換多個 Node.js 版本,每個版本及其對應的 npm 包都是獨立的,避免了版本衝突,尤其適合需要同時維護多個項目的開發者。
如何卸載NVM?
macOS/Linux:
- 首先,從您的 shell 配置文件(如 `.bashrc`, `.zshrc`)中刪除 NVM 相關的行。
- 然後,刪除 NVM 的安裝目錄,通常是 `~/.nvm`:`rm -rf ~/.nvm`。
- 找到您安裝 NVM for Windows 的目錄(例如 `C: vm`)。
- 運行其中的 `uninstaller.exe` (如果存在),或者手動刪除 NVM 的安裝目錄和 NVM 管理的 Node.js 目錄(例如 `C: odejs`)。
- 最後,從系統環境變數 `PATH` 中移除 NVM 相關的條目。
NPM和NVM有什麼關係?
NVM (Node Version Manager) 是一個 Node.js 版本管理工具,它的主要職責是安裝、切換和管理不同版本的 Node.js。
NPM (Node Package Manager) 是 Node.js 的包管理器,它隨著 Node.js 的安裝而自帶,用於管理 Node.js 項目的依賴包。當您通過 NVM 切換 Node.js 版本時,相應版本的 NPM 也會隨之切換,因為它與 Node.js 版本是緊密綁定的。簡而言之,NVM 管理 Node.js 環境,NPM 管理項目依賴。
總結
通過本文的詳細指導,您應該已經成功完成了 nvm安裝,並對 NVM 的基本用法有了深入的了解。無論是 Node.js 初學者還是經驗豐富的開發者,NVM 都是一個能夠顯著提升開發效率的利器。它簡化了 Node.js 版本管理,避免了環境衝突,讓您可以更專註於代碼的編寫,而不是繁瑣的環境配置。現在,開始您的多版本 Node.js 開發之旅吧!

