🚀 NVM 安装与使用完整教程:Node.js 多版本管理终极指南

摘要:本文手把手教你如何在 Windows、macOS 和 Linux 上安装并配置 NVM (Node Version Manager)。从彻底卸载旧版 Node.js、配置国内镜像加速,到掌握 .nvmrc 项目级版本自动切换技巧,一文解决前端开发中的环境冲突难题。


1. 为什么需要 NVM?

在 Web 开发中,不同时期的项目往往依赖不同版本的 Node.js。例如,老旧的 Vue 2 项目可能需要 Node 14,而新的 Next.js 项目可能要求 Node 18+。如果全局安装多个版本,极易导致依赖冲突环境混乱

NVM (Node Version Manager) 正是为此而生:

  • 多版本共存:同一台机器同时安装 v14, v16, v18, v20…
  • 一键切换:瞬间在不同版本间跳转,无需重新安装。
  • 项目隔离:通过 .nvmrc 实现项目级别的版本自动匹配。

在这里插入图片描述


2. Windows 系统安装指南 (nvm-windows)

Windows 下使用的是社区维护的 nvm-windows 版本(由 Corey Butler 维护),它是一个独立的 .exe 安装程序。

2.1 准备工作:彻底卸载旧版 Node.js ⚠️

彻底卸载旧版 Node.js⚠️
彻底卸载旧版 Node.js ⚠️
彻底卸载旧版 Node.js ⚠️
重要:安装前必须清理旧环境,否则会导致路径冲突,NVM 无法正常工作。

  1. 卸载程序
    • 打开 控制面板 -> 程序和功能 (或 设置 -> 应用)。
    • 找到 Node.js,右键点击 卸载
  2. 清理残留文件
    • 手动删除以下目录(若存在):
      • C:\Program Files\nodejs
      • C:\Program Files (x86)\nodejs
      • C:\Users\<你的用户名>\AppData\Roaming\npm
      • C:\Users\<你的用户名>\AppData\Roaming\npm-cache
    • 提示AppData 是隐藏文件夹,需在资源管理器“查看”选项中勾选“隐藏的项目”。
  3. 清理环境变量
    • 右键 此电脑 -> 属性 -> 高级系统设置 -> 环境变量
    • 用户变量系统变量Path 中,删除所有包含 nodejsnpm 的路径。
    • 若存在名为 NODE_PATH 的变量,也请一并删除。
  4. 验证卸载
    • 打开新的 CMD 窗口,输入 node -v
    • 若提示“不是内部或外部命令”,说明清理成功。

2.2 下载与安装 NVM

  1. 下载:访问 nvm-windows GitHub Releases
  2. 安装包(可下载以下文件):
  • nvm-noinstall.zip:绿色免安装版,但使用时需要进行配置。
  • nvm-setup.zip:安装版,推荐使用
  • nvm-setup.exe:无需解压,直接安装,墙裂推荐!!!
    在这里插入图片描述
  1. 运行安装
    • 双击运行,进入安装向导。

    • 关键配置 1:NVM 安装路径 (NVM_HOME):

      • 建议设置为无空格、无中文的路径,如 D:\nvm
      • ❌ 避免使用 C:\Program Files 等带空格的目录。
        在这里插入图片描述
    • 关键配置 2:Node 符号链接路径 (NODE_PATH):

      • 同样建议无空格路径,如 D:\nodejs
      • 安装程序会自动在此目录下创建各版本的软链接。
      • 切记,这个文件夹下面不要有任何文件。
        在这里插入图片描述
    • 点击 Install 完成安装。

2.3 配置国内镜像 (加速下载) 🇨🇳

国内用户直接从官方源下载 Node 极慢,需配置淘宝镜像。

  1. 进入 NVM 安装目录(如 D:\Appliation\nvm)。
  2. 用记事本打开 settings.txt 文件。
  3. 在末尾添加以下内容:
    node_mirror: https://npmmirror.com/mirrors/node/
    npm_mirror: https://npmmirror.com/mirrors/npm/
    
  4. 保存并关闭。

2.4 验证安装

管理员身份打开 CMD 或 PowerShell,输入:

nvm version

若显示版本号(如 1.2.22),则安装成功。


3. macOS / Linux 系统安装指南 (原生 nvm)

macOS 和 Linux 使用官方提供的 nvm 脚本安装,功能更强大且支持更多特性。

3.1 准备工作

如果之前通过包管理器(apt, yum, brew)安装过 Node,建议先卸载:

  • Ubuntu/Debian: sudo apt remove nodejs npm
  • CentOS/RHEL: sudo yum remove nodejs npm
  • macOS (Homebrew): brew uninstall node

3.2 安装 NVM

  1. 打开终端。
  2. 执行官方安装脚本(推荐使用最新版):
    # 官方源
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash
    
    • 国内备选:若网络不通,可使用 Gitee 镜像:
      curl -o- https://gitee.com/RubyMetric/nvm-cn/raw/main/install.sh | bash
      
  3. 脚本会自动修改你的 shell 配置文件(.bashrc, .zshrc 等)。

3.3 加载环境变量

安装后需重新加载配置:

# 关闭当前终端并重新打开,或执行:
source ~/.bashrc      # Bash 用户
source ~/.zshrc       # Zsh 用户 (macOS 默认)

3.4 验证安装

nvm --version

显示版本号即表示成功。


4. 核心操作流程图

为了更直观地理解 NVM 的决策逻辑,我们来看两个关键场景的流程图。

场景一:环境初始化与版本选择决策

这张图展示了从安装到确定当前开发环境的完整逻辑。

Windows

macOS/Linux

开始:准备开发环境

操作系统类型?

安装 nvm-windows .exe

彻底卸载旧版 Node.js & 清理 Path

配置 settings.txt 镜像地址

nvm version 验证

运行 install.sh 脚本

source ~/.bashrc/zshrc

nvm --version 验证

是否已安装 Node?

nvm install --lts
安装最新长期支持版

nvm ls
查看已安装版本

nvm use <版本号>

✅ 环境就绪,开始开发

图 1: NVM 环境初始化与版本切换决策流程图

场景二:项目级版本自动切换 (.nvmrc)

当进入特定项目目录时,NVM 如何自动匹配版本?

开发者进入项目目录

是否存在 .nvmrc?

使用当前默认版本
nvm alias default

读取 .nvmrc 内容
例如:18.20.4

本地已安装该版本?

nvm use
自动切换到指定版本

提示用户安装
nvm install <版本>

nvm install <版本>

✅ 项目环境启动

图 2: 基于 .nvmrc 的项目级版本自动匹配机制


5. 常用命令速查表

类别 命令 说明 Windows 特有注意
查看版本 nvm ls 列出已安装的版本,* 为当前激活 通用
nvm current 显示当前使用的 Node 版本 通用
安装版本 nvm install <ver> 安装指定版本 (如 18.20.4) 通用
nvm install --lts 安装最新的 LTS 版本 通用
nvm install latest 安装最新的稳定版 通用
远程列表 nvm ls-remote 查看所有可安装的远程版本 Linux/Mac
nvm list available 同上 (Windows 命令) Windows
切换版本 nvm use <ver> 切换到指定版本 通用
nvm use --lts 切换到最新 LTS 通用
卸载版本 nvm uninstall <ver> 卸载指定版本 通用
别名管理 nvm alias default <ver> 设置默认版本 (新开终端生效) 通用
临时运行 nvm run <ver> app.js 用指定版本运行脚本,不切换环境 通用
nvm exec <ver> cmd 用指定版本执行命令 通用

6. 进阶技巧:项目级版本管理 (.nvmrc)

对于团队协作,强制统一 Node 版本至关重要。

6.1 创建 .nvmrc

在项目根目录创建一个名为 .nvmrc 的文件,写入所需版本号:

18.20.4

6.2 自动切换策略

  1. 手动触发
    进入项目目录后,运行 nvm use,NVM 会自动读取 .nvmrc 并切换。
  2. VS Code 自动集成 (推荐)
    安装插件 “Auto-nvm”“Version Control”,或者在 VS Code 的 settings.json 中添加:
    "files.watcherExclude": {
        "**/.nvmrc": true
    }
    // 配合插件可实现进入文件夹自动切换
    
  3. Shell 自动钩子 (高阶)
    可以在 ~/.bashrc 中添加一段代码,实现每次 cd 进入有 .nvmrc 的目录时自动执行 nvm use

7. 常见问题排查 (FAQ)

  • Q: 安装后 nvm 命令找不到?
    • A: 检查环境变量是否生效。Windows 需重启 CMD;Mac/Linux 需 source 配置文件。
  • Q: 安装速度极慢?
    • A: 务必配置国内镜像(见第 2.3 节和第 3.2 节)。
  • Q: 切换版本后 npm 还是旧的?
    • A: 确保没有单独在全局安装 npm,NVM 管理的 Node 自带对应的 npm。
  • Q: Windows 下 nvm use 报错?
    • A: 检查是否以管理员身份运行 CMD,或者检查 settings.txt 中的路径是否包含中文/空格。

作者:不会写程序的未来程序员
首发于 CSDN
版权声明:本文为原创文章,转载请注明出处。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐