查看: 685|回复: 3

Windows下nvm-windows切换Node.js多版本

[复制链接]
发表于 昨天 10:00 | 显示全部楼层 |阅读模式
nvm-windows 是 Windows 下管理多个 Node.js 版本的命令行工具,核心用途是安装、切换、查看和卸载不同 Node.js 版本,避免项目之间的运行时冲突。以下流程基于原文整理,重点保留安装前清理、镜像配置、常用命令、项目级版本控制和常见错误处理。

一、安装前先清理旧 Node.js 环境

先执行 node -v。如果能输出版本号,说明系统已有 Node.js,需要先卸载;如果没有输出,可继续安装 nvm-windows。卸载时打开“控制面板” → “程序和功能”,找到所有包含“Node.js”字样的程序并卸载。随后以管理员身份运行 PowerShell,清理残留目录:
  1. Remove-Item -Path "C:\Program Files\nodejs" -Recurse -Force -ErrorAction SilentlyContinue
  2. Remove-Item -Path "C:\Program Files (x86)\nodejs" -Recurse -Force -ErrorAction SilentlyContinue
  3. Remove-Item -Path "$env:APPDATA\npm" -Recurse -Force -ErrorAction SilentlyContinue
  4. Remove-Item -Path "$env:APPDATA\npm-cache" -Recurse -Force -ErrorAction SilentlyContinue
复制代码

接着按 Win + R 输入 sysdm.cpl,打开“系统属性” → “高级” → “环境变量”,在“系统变量”和“用户变量”的 Path 中删除所有包含 nodejs 或 npm 的路径条目。最后在命令提示符执行 where node,如果返回“信息: 未找到匹配的文件”,说明清理完成。

二、安装 nvm-windows 并验证

从 nvm-windows 官方 GitHub Releases 页面下载最新版 nvm-setup.exe。右键选择“以管理员身份运行”,按向导完成安装。安装路径建议使用默认路径,例如 C:\Users\<用户名>\AppData\Roaming\nvm,或选择无空格、无中文的路径,如 D:\nvm。安装后在命令提示符执行 nvm version,能显示版本号即表示安装成功。

三、配置镜像源解决下载慢

国内环境下载 Node.js 和 npm 可能较慢,可在 nvm 安装目录中找到 settings.txt,例如 D:\nvm\settings.txt,用记事本追加以下内容:
  1. node_mirror: https://npmmirror.com/mirrors/node/
  2. npm_mirror: https://npmmirror.com/mirrors/npm/
复制代码

配置完成后,nvm 安装 Node.js 和 npm 时会走对应镜像地址。

四、nvm 核心命令与参数含义

查看可安装版本使用 nvm list available;安装 LTS 版本可使用 nvm install 18.20.4,安装最新版使用 nvm install latest,安装特定版本使用 nvm install 16.20.2。查看已安装版本使用 nvm ls 或 nvm list,输出中 * 表示当前正在使用的版本。切换版本使用 nvm use 20.20.2,切换时可能需要以管理员身份运行命令提示符。切换后用 node -v 和 npm -v 验证当前版本。卸载指定版本使用 nvm uninstall 16.20.2。
  1. nvm list available
  2. nvm install 18.20.4
  3. nvm install latest
  4. nvm install 16.20.2
  5. nvm ls
  6. nvm list
  7. nvm use 20.20.2
  8. node -v
  9. npm -v
  10. nvm uninstall 16.20.2
复制代码

nvm on 和 nvm off 分别用于启用和禁用 nvm,属于命令速查中的控制类命令。

五、按项目切换版本的实战场景

维护老项目时,如果项目需要 Node 14,可切换后进入项目安装依赖并启动:
  1. nvm use 14.21.3
  2. cd my-legacy-project
  3. npm install
  4. npm run dev
复制代码

开发新项目需要 Node 18 时:
  1. nvm use 18.20.4
  2. cd my-new-project
  3. npm install
  4. npm start
复制代码

同一台机器上切换 Vue 2 与 React 18 项目时,可分别进入目录后执行 nvm use,再运行对应 npm 脚本:
  1. cd d:\projects\vue2-admin
  2. nvm use 14.21.3
  3. npm run dev
  4. cd d:\projects\react18-app
  5. nvm use 18.20.4
  6. npm start
复制代码

六、用 .nvmrc 做项目级版本控制

在项目根目录创建 .nvmrc 文件,写入需要的 Node.js 版本,例如:
  1. 16.20.2
复制代码

然后在项目目录执行 nvm use,nvm 会自动读取 .nvmrc 并切换到对应版本。团队协作时应将 .nvmrc 纳入版本控制,以保证成员使用一致的 Node.js 版本。

七、常见问题与排查

问题 1:执行 nvm use 报错“exit status 1: Access is denied.”。原因是权限不足导致符号链接创建失败,解决方式是使用管理员身份运行命令提示符。

问题 2:切换版本后 npm 命令失效。原因通常是之前的 Node.js 安装未完全清除,应检查并删除残留的 Node.js 目录,然后重新执行 nvm use。

问题 3:下载速度慢或失败。原因是没有配置国内镜像源,按 settings.txt 中的 node_mirror 和 npm_mirror 配置淘宝镜像源后重试。

整体上,nvm-windows 的落地流程可以归纳为:清理旧环境、安装并验证 nvm、配置镜像、用 nvm install 安装版本、用 nvm use 切换版本、用 .nvmrc 固定项目版本,并针对权限和残留环境问题做排查。
回复

使用道具 举报

发表于 昨天 19:00 | 显示全部楼层

Re: Windows下nvm-windows切换Node.js多版本

感谢楼主整理,这篇写得很完整,尤其是安装前清理旧环境那一段,很多人就是没做这一步,后面 nvm use 各种报错。 我补充几个自己踩过的坑,供参考: 一是全局包不共享的问题。切换 Node 版本后,之前版本全局装的 npm 包(包括 cnpm、yarn 之类)在新版本下是看不到的,需要重新 npm install -g 一遍。楼主的流程里没提这点,实际用起来挺容易懵的。 二是 settings.txt 的位置,如果安装时选了自定义路径,记得去那个路径下找,不一定是默认的 AppData 目录。改完镜像源后建议先 nvm install 一个小版本验证一下速度。 三是 .nvmrc 这个用法确实好用,不过要注意 nvm use 不带参数时读取的是当前目录的 .nvmrc,如果目录不对会切到默认版本,跑之前最好先 nvm ls 确认一下。 四是权限问题,除了 nvm use 需要管理员,有时候 nvm install 在默认路径下也会因为目录权限失败,装的时候直接管理员运行能省不少事。 整体流程按楼主这个走基本没问题,收藏了。
回复 支持 反对

使用道具 举报

发表于 昨天 19:30 | 显示全部楼层

Re: Windows下nvm-windows切换Node.js多版本

这篇整理得挺完整的,清理旧环境那一步很多人会漏掉,值得强调,尤其 Path 里残留的 nodejs 条目,nvm use 之后 npm 失效基本都是这个问题。 补充几个实际用的时候会遇到的点: 一是文中的 nvm use 20.20.2 感觉是笔误,20 这条线没有这个版本号,建议先 nvm list available 确认一下实际可用的版本,不然命令会直接报找不到版本。 二是 nvm use 切换版本本质是在创建符号链接,默认要管理员权限。如果系统是 Win10/Win11,可以在“设置”里打开“开发者模式”,之后普通权限的命令行也能切换成功,省得每次都开管理员窗口。 三是全局安装的包不跟着走。切换 Node 版本后,之前 npm i -g 装的 pnpm、yarn、@vue/cli 这些在新的版本下都没有,需要按版本各自装一遍。所以有时候“npm 命令失效”不一定是残留问题,也可能是当前版本下压根没装。可以顺手 nvm root 看一下 nvm 到底装在哪、各个版本目录里有没有 npm.cmd。 四是 settings.txt 里那两行 mirror 记得另起一行写,别和原有内容挤在同一行,冒号后面也别多敲空格,否则解析会失败。 五是 .nvmrc 里写版本号建议写完整版本(比如 16.20.2),别写 16 或者 v16 这种,部分 nvm-windows 版本对这种模糊写
回复 支持 反对

使用道具 举报

发表于 昨天 19:30 | 显示全部楼层

Re: Windows下nvm-windows切换Node.js多版本

整理得挺完整的,尤其是安装前清理旧环境这步,很多人就是卡在残留目录上,切完版本 npm 就找不到了。 补充几个自己踩过的坑: 一是清理的时候别忘了 npm 的全局包目录和用户目录下的 .npmrc。前者一般在 %APPDATA%\npm,后者是 %USERPROFILE%\.npmrc,里面有 registry 和 prefix 配置,留着容易让新装的 Node 用错路径。如果之前用 prefix 把全局包装到了别的盘,也要一并处理。 二是 nvm use 的原理是在 C:\Program Files\nodejs 建软链接。所以要确认这个目录真的是链接,而不是某个版本的实体目录,否则切换会静默失败或者报 Access is denied。装完 nvm 后建议先看一眼 Program Files 下 nodejs 的属性。 三是 .nvmrc 这块,老版本 nvm-windows 对它的支持不太稳定,有时候要加 --use 参数或者干脆不好使。建议确认下自己的 nvm version,太旧就升级;团队里也可以约定 .nvmrc 只写主版本号,比如 18,比写全 18.20.4 更省事,不容易因为小版本没装而失败。 四是路径问题,nvm 的安装目录和 Node 安装根目录都别带空格和中文,D:\nvm 这种最稳。另外别和 choco、scoop 装的 node 混用,很容易 PATH
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

Hacking Group 021A

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

关注微信公众号

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2026-10-27 16:31 , Processed in 0.042951 second(s), 29 queries , Gzip On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部