你是不是也遇到过这种尴尬:打开一个老项目,package.json 里写着 node >= 12,你机器上却装着 Node 20,跑起来各种报错;另一个新项目又要求 Node 22+,你又得去官网重新下载安装包,卸载、重装、配置,一整套流程下来半天没了。我在 Windows 上折腾 Node.js 环境时,最后悔的就是没早一点用上 nvm。nvm 的全称是 Node Version Manager,也就是 Node 版本管理器,它的核心作用非常朴素:在同一台电脑上,可以随时切换不同版本的 Node.js,互不干扰,不用反复卸载安装。这篇教程我会按照实际安装过程来写,从 nvm 下载装到 Node.js 全局配置,最后再把高频报错一起梳理掉,全程以 Windows 为例,WSL 用户我会单独标注差异。无论你是刚接触 Node.js 的新手,还是已经卡在某个报错上半天,这篇都应该能帮上忙。
1. 先说清楚:nvm 和 Node.js 到底是什么关系
先回答一个最基础的问题:Node.js 是干什么的?
Node.js 简单说,就是一个让 JavaScript 能在浏览器之外运行的环境。以前 JavaScript 只能在网页里跑,有了 Node.js 之后,你可以用它写命令行工具、写后端接口服务、做自动化打包脚本,甚至做桌面应用。前端工程化领域几乎绕不开它,Vue、React 的构建工具,Webpack、Vite,全是跑在 Node.js 上的。
那 nvm 又是干嘛的?你可以把它看成 Node.js 的“版本控制中心”。Node.js 版本迭代非常快,长期支持版(LTS)和最新版之间差别很大,而且很多老项目因为依赖的兼容性问题,只能在特定大版本下运行。nvm 的价值就在于:它可以让你在电脑上同时安装多个 Node.js 版本,随时切换。比如我在工作目录 A 用 Node 16,在目录 B 用 Node 20,这是 nvm 最常见的应用场景。
1.1 为什么多数人第一次就装错了 Node
我见过太多初学者(包括当年的我)直接跑去 Node.js 官网下载最新安装包,一路点击下一步装完,然后开始用。这种装法在很长一段时间内可能没什么问题,但一旦遇到下面这几种情况,就非常难受:
- 老项目的依赖不支持新版 Node,比如某些旧版本 node-sass 在 Node 17+ 编译直接失败;
- 公司内部脚手架工具锁定了 Node 版本,安装时严格校验主版本号;
- 你同时维护多个项目,一个要 Node 14,另一个要 Node 20。
没有版本管理器,你只能反复卸载、安装、再卸载。有 nvm,一条命令切换版本,5 秒钟搞定。
所以我的建议很明确:如果你连一次 Node.js 都还没装过,直接先装 nvm,再用 nvm 装 Node.js。如果你已经装了,那就先干净卸载,再走下面的流程。
1.2 nvm 这个名字很容易让人搜错东西
在搜索 nvm 资料时,你会经常看到一些看起来毫无关联的英文术语,比如 autosar nvm、nvm of eeprom。这里要给你提个醒:汽车电子领域也有一个 NVM,全称是 Non-Volatile Memory(非易失性存储器),通常用在 Autosar 架构里管理 EEPROM 的数据存取。这个 NVM 和 Node.js 的 Node Version Manager 完全是两码事,只是缩写撞了。搜索时一定要锁定关键词 nvm-windows 或 nvm for Windows,否则容易进入嵌入式系统领域,越搜越懵。
1.3 哪些人最值得装 nvm
如果你的情况符合下面任何一条,nvm 就是刚需:
- 你是一个前端或全栈开发者,需要维护多个 Node 项目;
- 你想尝试 Node 最新特性,但不想破坏日常稳定环境;
- 你使用的工具(比如 pnpm、部分 CLI)对 Node 版本有最低要求,而当前版本过低;
- 你需要在 Windows 和 WSL 里分别搭建 Node 环境。
反过来说,如果你只是想在电脑上跑一个简单的 JavaScript 脚本,长期不升级不切换,那直接装一个 LTS 版本也确实够用。但记住,环境这种东西,越早管理越好,等出了问题再补课,成本更高。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. nvm for Windows 的下载与安装:版本别选错
Windows 系统里安装的 nvm 其实是 nvm-windows,它和 Linux 下用 shell 脚本安装的原始 nvm 是两套不同的实现,但是名字都叫 nvm。
2.1 下载地址和版本选择
nvm-windows 的官方仓库在 GitHub 上,搜索 nvm-windows 就能找到。在 releases 页面找到最新的发布版本,下载 nvm-setup.exe,这是傻瓜式安装包。
这里有一个非常关键的坑:不要下载 nvm-no-install.zip 如果你不想自己配环境变量的话。新手请直接选 nvm-setup.exe。另外,有的下载页会提供 nvm-setup.zip,解压后里面也是 exe 安装包,效果一样。下载时注意区分系统位数,现在基本都是 64 位系统,选 nvm-setup.exe 即可。
2.2 安装前置检查:先卸载已装的 Node.js,清理残留
安装 nvm-windows 之前,我强烈建议把系统里现有的 Node.js 彻底卸载掉。如
