NVM(Node Version Manager)是一个用于在同一台机器上安装和切换不同版本 Node.js 的工具。对于开发者来说,这特别有用,因为不同的项目可能依赖于不同版本的 Node.js。
为什么需要 NVM?
1.版本切换:不同项目可能需要不同的 Node.js 版本
2.避免权限问题:全局安装 Node 包时不需要使用 sudo
3.测试兼容性:轻松在不同版本间切换以测试代码兼容性
在 Windows 系统上,需要使用专门的 NVM for Windows 工具,它与 Linux/macOS 版本的 NVM 功能类似,但安装和使用方式略有不同。
Windows 安装步骤
访问 NVM for Windows 发布页面,下载最新版本的 nvm-setup.zip 或 nvm-setup.exe 文件。
双击下载的安装文件,按照向导进行安装:
选择安装目录(默认建议)
设置 Node.js 安装目录(默认建议)
完成安装
打开命令提示符或 PowerShell,运行以下命令验证安装:
powershell
nvm version
如果成功输出版本号,则安装成功。
Windows 系统基本命令
powershell
nvm list available
powershell
nvm install 18.16.0 # 安装指定版本
nvm install latest # 安装最新版本
nvm install lts # 安装最新 LTS 版本
注意:如果在 nvm list available 命令中没找到合适的版本,可以通过手动方式下载所需node 版本。
(
Windows 系统:手动下载并安装 Node.js 版本
如果在使用 nvm list available 命令时没有找到所需的 Node.js 版本,可以通过以下步骤手动下载并安装:
2.1 从 Node.js 官网下载所需版本
访问 Node.js 官方下载历史页面,找到需要的版本(例如 v14.21.3),并下载对应的 .zip 或 .7z 文件(选择 Windows Binary 版本)。
2.2 解压下载的文件
将下载的压缩包解压到一个临时目录,例如:C:Tempnode-v14.21.3-win-x64
2.3 将文件移动到 NVM 管理目录
将解压后的文件移动到 NVM 的安装目录中,通常是:C:Users你的用户名AppDataRoamingnvm
2.4 注册版本到 NVM
打开命令提示符(以管理员身份运行),执行以下命令:
powershell
nvm install 14.21.3 C:\Temp\node-v14.21.3-win-x64
其中:
14.21.3 是你要安装的版本号
C:Tempnode-v14.21.3-win-x64 是你解压后的文件路径
)
powershell
nvm use 18.16.0 # 使用指定版本
nvm use latest # 使用最新版本
nvm use lts # 使用最新 LTS 版本
powershell
nvm list
powershell
nvm alias default 18.16.0
Windows 系统常见问题
如果遇到权限不足的错误,尝试以管理员身份运行命令提示符或 PowerShell。
如果 Node.js 命令无法找到,可能是 PATH 环境变量配置有问题。可以尝试重新安装 NVM 或手动添加 Node.js 路径到环境变量。
在 Windows 系统中卸载 NVM:
1.使用控制面板中的 "程序和功能" 卸载 NVM for Windows
2.手动删除 Node.js 安装目录(默认是 C:Program Filesnodejs)
3.检查并删除环境变量中残留的 Node.js 路径
打开终端,运行以下命令下载并执行安装脚本:
bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
或者使用 wget:
bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
安装完成后,需要在 shell 配置文件中添加环境变量。根据你使用的 shell,打开相应的配置文件:
Bash:~/.bashrc
Zsh:~/.zshrc
Fish:~/.config/fish/config.fish
添加以下内容到配置文件末尾:
bash
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
重启终端或执行以下命令激活 NVM:
bash
source ~/.bashrc # 如果你使用的是 bash# 或者source ~/.zshrc # 如果你使用的是 zsh
运行以下命令验证 NVM 是否安装成功:
bash
nvm --version
如果成功输出版本号(如 0.39.5),则安装成功。
NVM 基本使用
bash
nvm list-remote
这会列出所有可安装的 Node.js 版本,包括 LTS(长期支持)版本和最新版本。
安装最新稳定版:
bash
nvm install node
安装特定版本(例如 18.16.0):
bash
nvm install 18.16.0
安装 LTS 版本:
bash
nvm install --lts
bash
nvm use 18.16.0 # 使用特定版本
nvm use node # 使用最新版本
nvm use --lts # 使用最新 LTS 版本
bash
nvm list
这会显示你本地已安装的所有 Node.js 版本,并标记当前正在使用的版本。
bash
nvm alias default 18.16.0
这样每次打开新终端时,都会默认使用指定的版本。
常见问题与解决方法
如果你在安装后运行 nvm 命令时提示找不到命令,可能是环境变量配置有问题。检查你的 shell 配置文件是否正确添加了 NVM 路径,并重新加载配置文件。
切换 Node.js 版本后,某些全局安装的 npm 包可能不可用。你可以在安装新版本时使用 --reinstall-packages-from 参数保留原有包:
bash
nvm install 18.16.0 --reinstall-packages-from=16.14.2
如果你想完全卸载 NVM,可以:
1.删除 NVM 安装目录:rm -rf ~/.nvm
2.从 shell 配置文件中删除 NVM 相关的环境变量配置
3.重启终端
进阶用法
在项目根目录创建 .nvmrc 文件,内容为所需的 Node.js 版本号:
bash
然后在项目目录下执行 nvm use,NVM 会自动使用 .nvmrc 中指定的版本。
bash
nvm alias my-node 18.16.0
nvm use my-node
这样可以为常用版本设置更友好的名称。
NVM 是管理多个 Node.js 版本的强大工具,通过简单的命令就能在不同版本间自由切换。掌握这些基本用法后,你可以更高效地开发和管理多个 Node.js 项目。
如果遇到问题,可以查阅 NVM 官方 GitHub 仓库获取更多帮助。
注意事项
Windows 版本的 NVM 功能与 Linux/macOS 版本基本相同,但命令语法可能略有差异
某些高级功能(如 .nvmrc 文件自动切换)在 Windows 上可能需要额外配置
如果在 Windows 上遇到问题,可以尝试使用 WSL(Windows Subsystem for Linux)来运行 Linux 版本的 NVM