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

  1. 下载 nvm
  • 访问 nvm-windows 官方仓库(https://github.com/coreybutler/nvm-windows)。
  • 下载最新版本的 nvm-setup.zip,解压并运行 nvm-setup.exe
  1. 安装步骤
  • 按照向导安装,选择默认路径即可。
  • 安装完成后,nvm 会自动添加到系统 PATH。
  1. 验证安装
  • 打开命令提示符(cmd)或 PowerShell,输入:
    bash nvm version
    显示版本号(如 1.1.12)表示安装成功。

macOS/Linux

  1. 安装 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
  1. 应用配置
  • 运行以下命令加载 nvm:
    bash source ~/.bashrc
    或根据终端类型(如 zsh)运行 source ~/.zshrc
  1. 验证安装
  • 输入:
    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

  1. 确保终端识别 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
  1. 在项目中指定 Node.js 版本
  • 在项目根目录创建 .nvmrc 文件,写入所需版本:
    bash echo "20.17.0" > .nvmrc
  • 进入项目目录,运行:
    bash nvm use
    nvm 会自动切换到 .nvmrc 指定的版本。
  1. 调试配置
  • 在 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 项目

示例:多版本测试

  1. 安装两个版本(如 Node.js 16 和 20):
   nvm install 16
   nvm install 20
  1. 创建测试项目:
   mkdir test-project
   cd test-project
   npm init -y
  1. 测试不同版本:
  • 切换到 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 版本。
  • 备份配置:将 .nvmrcpackage.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)。

如需更详细的命令示例或特定场景的配置,请告诉我!

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注