NVM 管理多版本 Node.js
以下是关于使用 nvm(Node Version Manager)在 Windows、macOS 和 Linux 上管理多个 Node.js 版本的简洁中文指南,涵盖安装、配置和常用命令,适合 Node.js 开发者。
1. 什么是 nvm?
nvm 是一个用于管理多个 Node.js 版本的工具,允许在同一设备上安装和切换不同版本的 Node.js 和 npm,方便开发、测试和兼容性管理。
2. 安装 nvm
Windows
- 下载 nvm:
- 访问 nvm-windows 官方仓库(https://github.com/coreybutler/nvm-windows)。
- 下载最新版本的
nvm-setup.zip
,解压并运行nvm-setup.exe
。
- 安装步骤:
- 按照向导安装,选择默认路径即可。
- 安装完成后,nvm 会自动添加到系统 PATH。
- 验证安装:
- 打开命令提示符(
cmd
)或 PowerShell,输入:bash nvm version
显示版本号(如1.1.12
)表示安装成功。
macOS/Linux
- 安装 nvm:
- 打开终端,运行以下命令(以最新版本为例,检查 https://github.com/nvm-sh/nvm 获取最新脚本):
bash curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
- 安装后,脚本会自动配置
~/.bashrc
、~/.zshrc
或~/.profile
。
- 应用配置:
- 运行以下命令加载 nvm:
bash source ~/.bashrc
或根据终端类型(如 zsh)运行source ~/.zshrc
。
- 验证安装:
- 输入:
bash nvm --version
显示版本号(如0.40.1
)表示成功。
3. 常用 nvm 命令
安装 Node.js 版本
- 安装指定版本(如 20.17.0):
nvm install 20.17.0
- 安装最新 LTS 版本:
nvm install lts/*
- 安装最新版本:
nvm install node
切换 Node.js 版本
- 使用指定版本:
nvm use 20.17.0
- 使用最新 LTS 版本:
nvm use lts/*
查看版本
- 查看已安装的 Node.js 版本:
nvm ls
- 查看所有可用版本:
nvm ls-remote
- 查看当前使用的版本:
node -v
npm -v
设置默认版本
- 设置某个版本为默认:
nvm alias default 20.17.0
- 每次打开终端都会自动使用默认版本。
卸载版本
- 卸载指定版本:
nvm uninstall 20.17.0
4. 配置 nvm 与 VS Code
- 确保终端识别 nvm:
- Windows:在 VS Code 终端(PowerShell 或 cmd)中运行
nvm use <version>
,无需额外配置。 - macOS/Linux:确保
~/.bashrc
或~/.zshrc
已包含 nvm 初始化脚本。如果 VS Code 终端无法识别 nvm,添加以下内容到~/.zshrc
或~/.bashrc
:bash export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
然后运行source ~/.zshrc
。
- 在项目中指定 Node.js 版本:
- 在项目根目录创建
.nvmrc
文件,写入所需版本:bash echo "20.17.0" > .nvmrc
- 进入项目目录,运行:
bash nvm use
nvm 会自动切换到.nvmrc
指定的版本。
- 调试配置:
- 在 VS Code 中打开项目,创建
launch.json
(参考前文)。 - 确保
runtimeExecutable
指向正确版本的 Node.js:json { "type": "node", "request": "launch", "name": "Launch Program", "program": "${workspaceFolder}/index.js", "runtimeExecutable": "${env:HOME}/.nvm/versions/node/v20.17.0/bin/node" }
5. 使用 nvm 开发 Node.js 项目
示例:多版本测试
- 安装两个版本(如 Node.js 16 和 20):
nvm install 16
nvm install 20
- 创建测试项目:
mkdir test-project
cd test-project
npm init -y
- 测试不同版本:
- 切换到 Node.js 16:
bash nvm use 16 node -v
- 运行项目:
bash node index.js
- 切换到 Node.js 20 并重复测试。
结合 AI 编程助手
- 使用 GitHub Copilot 或 Workik AI(参考前文)生成代码,结合 nvm 测试不同 Node.js 版本的兼容性。
- 示例提示:输入“Generate a Node.js 16 compatible Express server”,AI 会生成适配旧版本的代码。
6. 常见问题
- nvm 命令未找到:
- Windows:确保 nvm 安装路径在系统 PATH 中。
- macOS/Linux:检查
~/.bashrc
或~/.zshrc
是否正确加载 nvm,运行source ~/.zshrc
。 - 版本切换失败:
- 确保指定版本已安装(
nvm ls
)。 - 检查是否有权限问题,必要时使用
sudo
(Linux/macOS)。 - VS Code 终端问题:
- 确保 VS Code 使用正确的终端(如 bash 或 zsh)。
- 在 VS Code 设置中选择默认终端:
Ctrl + ,
搜索terminal.integrated.defaultProfile
。
7. 最佳实践
- 定期更新 nvm:
- macOS/Linux:
bash curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
- Windows:下载最新 nvm-windows 安装包。
- 清理旧版本:定期卸载不再使用的 Node.js 版本以节省空间。
- 自动化版本切换:使用
.nvmrc
文件确保团队成员使用一致的 Node.js 版本。 - 备份配置:将
.nvmrc
和package.json
纳入 Git 版本控制。
8. 下一步
- 探索 nvm 的高级功能,如
nvm exec
执行特定版本的脚本。 - 结合 Docker 或 CI/CD 工具(如 GitHub Actions)管理 Node.js 版本。
- 参考 nvm 官方文档(https://github.com/nvm-sh/nvm)或 nvm-windows 文档(https://github.com/coreybutler/nvm-windows)。
如需更详细的命令示例或特定场景的配置,请告诉我!