Windows 下使用 nvm 安装与管理 Node.js(完整指南)

目录

一、准备工作

[1. 卸载已有的 Node.js(重要!)](#1. 卸载已有的 Node.js(重要!))

[二、下载并安装 nvm-windows](#二、下载并安装 nvm-windows)

[1. 访问官方 GitHub 仓库](#1. 访问官方 GitHub 仓库)

[2. 下载安装包](#2. 下载安装包)

[​3. 安装 nvm](#3. 安装 nvm)

[三、验证 nvm 是否安装成功](#三、验证 nvm 是否安装成功)

[四、使用 nvm 安装 Node.js](#四、使用 nvm 安装 Node.js)

[1. 查看可安装的 Node.js 版本](#1. 查看可安装的 Node.js 版本)

[2. 安装指定版本(推荐 LTS)](#2. 安装指定版本(推荐 LTS))

[3. 查看已安装的版本](#3. 查看已安装的版本)

[五、切换 Node.js 版本](#五、切换 Node.js 版本)

[六、常用 nvm 命令速查](#六、常用 nvm 命令速查)

1、基础信息类命令

[2、安装与卸载 Node.js](#2、安装与卸载 Node.js)

安装命令

卸载命令

3、版本查看与切换

4、设置默认版本(持久生效)

5、配置镜像源(加速下载)

6、清理与维护

[7、高级技巧 & 实用组合](#7、高级技巧 & 实用组合)

[1. 快速安装并使用 LTS 版本](#1. 快速安装并使用 LTS 版本)

[2. 同时安装多个常用版本](#2. 同时安装多个常用版本)

[3. 查看某个项目所需的 Node 版本(配合 .nvmrc)](#3. 查看某个项目所需的 Node 版本(配合 .nvmrc))

[4. 检查是否为 64 位版本](#4. 检查是否为 64 位版本)

七、常见问题解决

[❌ 问题1:nvm use 报错 "exit status 1: Access is denied."](#❌ 问题1:nvm use 报错 “exit status 1: Access is denied.”)

[❌ 问题2:切换版本后 npm 命令失效](#❌ 问题2:切换版本后 npm 命令失效)

[❌ 问题3:下载速度慢或失败](#❌ 问题3:下载速度慢或失败)

八、总结


在开发过程中,你可能会遇到需要同时使用多个 Node.js 版本的情况:比如一个老项目依赖 Node 16,而新项目要求 Node 20。手动反复卸载重装不仅麻烦,还容易出错。

这时,nvm(Node Version Manager) 就派上用场了!它能让你在 Windows 上轻松安装、切换和管理多个 Node.js 版本。

📌 注意:Windows 上的 nvm 并非官方版本(官方 nvm 仅支持 macOS/Linux),而是由社区维护的 nvm-windows

本文将手把手教你如何在 Windows 10/11 上安装 nvm,并用它来管理 Node.js。


一、准备工作

1. 卸载已有的 Node.js(重要!)

nvm 要求系统中不能预先安装 Node.js,否则会冲突。

卸载步骤:

  1. 打开"控制面板" → "程序和功能"
  2. 找到 Node.js,右键选择"卸载"
  3. 删除残留目录(如果存在):
    • C:\Program Files\nodejs
    • C:\Users\<你的用户名>\AppData\Local\npm
  4. 清理环境变量:
    • Win + R 输入 sysdm.cpl → "高级" → "环境变量"
    • 在"系统变量"和"用户变量"中,找到 Path
    • 删除所有包含 nodejsnpm 的路径条目

✅ 完成后重启命令提示符,输入 node -v 应提示"不是内部或外部命令"。


二、下载并安装 nvm-windows

1. 访问官方 GitHub 仓库

打开浏览器,进入:

🔗 https://github.com/coreybutler/nvm-windows/releases

2. 下载安装包

  • 找到最新版本(如 nvm-setup.zip
  • 点击下载 nvm-setup.exe(这是图形化安装程序,推荐新手使用)

⚠️ 不要下载 nvm-noinstall.zip,除非你熟悉手动配置。

3. 安装 nvm

  1. 解压(如果下载的是 zip)或直接运行 nvm-setup.exe
  2. 出现安全警告时点"是"
  3. 安装向导启动:
    • 点击 Next
    • 接受许可协议 → Next
    • 设置 nvm 安装路径 (建议默认:C:\Users\admin\AppData\Local\nvm
    • 设置 Node.js 的符号链接路径 (建议设为:C:\Program Files\nodejs 💡 这个路径将作为 node 命令的入口,必须不含空格和中文
    • 点击 InstallFinish

✅ 安装完成后,nvm 会自动配置好环境变量。


三、验证 nvm 是否安装成功

  1. 管理员身份 打开 命令提示符(CMD)PowerShell (部分操作需要管理员权限)

  2. 输入以下命令:

    nvm version

如果显示版本号(如 1.1.12),说明 nvm 安装成功!

🔍 如果提示 'nvm' 不是内部或外部命令,请检查:

  • 是否完全卸载了旧版 Node.js
  • 是否重启了终端(或重启电脑)
  • 环境变量是否包含 nvm 路径(通常安装程序会自动添加)

四、使用 nvm 安装 Node.js

1. 查看可安装的 Node.js 版本

复制代码
nvm list available

这会列出所有官方支持的 LTS 和 Current 版本。

2. 安装指定版本(推荐 LTS)

例如安装最新的 LTS 版本(如 20.12.0):

复制代码
nvm install 20.12.0

显示如下如图则安装完成

也可以只指定主版本号,nvm 会自动安装该系列的最新版:

复制代码
nvm install 18

3. 查看已安装的版本

复制代码
nvm list

输出示例:


五、切换 Node.js 版本

使用 nvm use 命令激活某个版本:

复制代码
nvm use 20.12.0

成功后会提示:

验证当前版本:

复制代码
node -v   # 输出 v20.12.0
npm -v    # 显示对应 npm 版本

✅ 切换后,nodenpm 命令会自动指向所选版本。


六、常用 nvm 命令速查

1、基础信息类命令

命令 作用 示例
nvm versionnvm -v 查看 nvm 自身版本 nvm version1.1.12
nvm help 显示所有可用命令帮助 nvm help
nvm root 显示 nvm 的安装根目录(即 Node.js 版本存放路径) nvm rootC:\Users\Alice\AppData\Roaming\nvm

2、安装与卸载 Node.js

安装命令
命令 说明 示例
nvm install <version> 安装指定精确版本 nvm install 20.12.0
nvm install <major> 安装该主版本的最新版(自动补全) nvm install 18 → 安装 18.x 最新版
nvm install lts 安装最新的 LTS(长期支持)版本 nvm install lts
nvm install latest 安装最新的 Current(开发版)版本 nvm install latest

✅ 安装时会自动下载并解压到 nvm root 目录下的对应版本文件夹。

卸载命令
命令 说明 示例
nvm uninstall <version> 卸载指定版本(不能卸载当前正在使用的版本) nvm uninstall 16.14.0
nvm uninstall <major> 卸载该主版本的所有子版本(不推荐) ❌ 通常不支持,需指定完整版本号

⚠️ 注意:必须先 nvm use 切换到其他版本,才能卸载当前版本。


3、版本查看与切换

命令 说明 示例
nvm listnvm ls 列出本地已安装的所有 Node.js 版本 显示: * 20.12.0 (当前) 18.17.0
nvm list availablenvm ls available 列出所有官方可安装的版本(含 LTS/Current 标记) 显示远程版本列表
nvm use <version> 临时切换到指定版本(仅当前终端会话有效) nvm use 18.17.0
nvm use <major> 切换到该主版本的已安装最新子版本 nvm use 18
nvm current 显示当前正在使用的 Node.js 版本 nvm currentv20.12.0

✅ 切换成功后,node -vnpm -v 会立即反映新版本。


4、设置默认版本(持久生效)

命令 说明 示例
nvm alias default <version> 设置默认启动版本(新终端自动激活) nvm alias default 20.12.0
nvm alias 查看所有别名(包括 default) 输出: default -> 20.12.0
nvm unalias default 删除默认别名(不推荐) ---

💡 设置默认版本后,每次打开新的 CMD/PowerShell,都会自动使用该版本,无需手动 nvm use


5、配置镜像源(加速下载)

nvm 默认从官方 nodejs.org 下载,国内用户可能很慢。可通过修改配置文件启用国内镜像。

步骤:

  1. 找到 nvm 安装目录

  2. 编辑 settings.txt 文件(若不存在则新建)

  3. 添加以下两行:

    node_mirror: https://npmmirror.com/mirrors/node/
    npm_mirror: https://npmmirror.com/mirrors/npm/

✅ 保存后,后续 nvm install 将自动从淘宝 NPM 镜像(npmmirror.com)下载,速度大幅提升!


6、清理与维护

命令 说明
手动删除旧版本 进入 nvm root 目录,直接删除不需要的版本文件夹(如 v16.14.0
清理 npm 缓存(可选) npm cache clean --force(每个 Node 版本有独立缓存)
重置 PATH(故障排查) 如果 node 命令失效,检查 C:\Program Files\nodejs 是否在系统 PATH 中,并确保它是 nvm 创建的符号链接

7、高级技巧 & 实用组合

1. 快速安装并使用 LTS 版本
复制代码
nvm install lts
nvm use lts
nvm alias default lts
2. 同时安装多个常用版本
复制代码
nvm install 18
nvm install 20
nvm install 22
3. 查看某个项目所需的 Node 版本(配合 .nvmrc

如果项目根目录有 .nvmrc 文件(内容如 18.17.0),可快速切换:

复制代码
nvm use

⚠️ 注意:nvm-windows 不原生支持 .nvmrc 自动读取,但你可以手动执行:

复制代码
nvm use $(cat .nvmrc)

(在 PowerShell 中需用 Get-Content .nvmrc

4. 检查是否为 64 位版本

nvm-windows 默认安装 64 位。可通过以下命令确认:

复制代码
node -p "process.arch"

输出应为 x64


七、常见问题解决

❌ 问题1:nvm use 报错 "exit status 1: Access is denied."

原因:权限不足,无法创建符号链接。

解决方法

  • 管理员身份运行 CMD 或 PowerShell
  • 或在安装 nvm 时,确保目标路径(如 C:\Program Files\nodejs)有写入权限

❌ 问题2:切换版本后 npm 命令失效

原因:npm 是随 Node.js 一起安装的,每个版本自带独立的 npm。

解决方法

  • 确保使用 nvm use 正确切换
  • 不要手动修改 PATH 中的 npm 路径

❌ 问题3:下载速度慢或失败

解决方法:配置国内镜像(需手动修改 nvm 设置文件)

  1. 打开 nvm 安装目录(C:\Users\admin\AppData\Local\nvm)

  2. 编辑 settings.txt,添加:

    复制代码
    node_mirror: https://npmmirror.com/mirrors/node/
    npm_mirror: https://npmmirror.com/mirrors/npm/
  3. 保存后重新安装即可加速


八、总结

通过 nvm-windows,你可以在 Windows 上:

  • 轻松安装多个 Node.js 版本
  • 一键切换项目所需的运行环境
  • 避免版本冲突和重复安装的烦恼

这对于前端开发者、全栈工程师或参与多个项目的团队成员来说,是必备的开发利器

🎯 最佳实践建议

  • 日常开发使用 LTS 版本(如 18、20、22)
  • nvm alias default 设置主力版本
  • 定期清理不用的旧版本:nvm uninstall 16.14.0

现在,你已经掌握了在 Windows 上用 nvm 管理 Node.js 的全部技能!快去试试吧!

如有疑问,欢迎留言交流。祝你开发顺利!💻✨


附:

相关推荐
JELEE.2 小时前
Vue3复习笔记
vue.js·笔记·vue
d111111111d2 小时前
再STM32F103C8T6中小端存储和大端存储有什么不同,STM32F103C8T6用的是那个,为什么要这么使用?
笔记·stm32·单片机·嵌入式硬件·学习
lkbhua莱克瓦242 小时前
项目知识——“Node.js 让 JavaScript 摆脱了只能运行在浏览器中的限制
node.js·项目知识
Chloeis Syntax2 小时前
MySQL初阶学习日记(5)--- 联合查询
java·笔记·学习·mysql
2301_801821712 小时前
两个模型整合问题解决
笔记
代码or搬砖2 小时前
使用nvm管理node多版本
vue.js·node.js
思成不止于此2 小时前
【MySQL 零基础入门】DQL 核心语法(三):学生表排序查询与分页查询篇
数据库·笔记·学习·mysql
Q_Q19632884752 小时前
python+django/flask+vue的智能房价分析与预测系统
spring boot·python·django·flask·node.js·php
wgego2 小时前
Polar靶场web 随写笔记
笔记·web