前几天 macaron-blog 个人作品集项目准备部署到 Vercel。结果在前端目录下执行 pnpm build 时,各种奇葩报错接踵而至:
- 先是
ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND(目录不对)。 - 接着在配置 Vercel 时,执行
vercel login报出TypeError和No existing credentials found(疑似 Node.js 高版本不兼容)。 - 为了彻底解决,决定重装 NVM(Node Version Manager),结果踩了一路的坑:环境变量失效、网络超时、配置不生效......
网上的教程大多比较旧,NVM 2.0 版本有些逻辑已经改了。这里直接把踩过的坑和最终的实操步骤记录下来。如果你也正被 Windows 下的 Node 环境折磨,直接照着我下面这 5 步做,保准一次跑通。
第一步:彻底清理旧环境(极其重要)
很多人装完 NVM 发现切换版本无效,或者全局包报错,99% 是因为旧版的 Node 没删干净。
-
卸载旧版 Node:去控制面板,把以前单独安装的 Node.js 卸载掉。
-
删残留文件 :检查一下电脑里有没有
C:\Program Files\nodejs或者你之前自定义的 Node 文件夹(比如D:\NodeJS),有的话直接删除。 -
清理环境变量 :按下
Win + R,输入以下命令并回车,快速打开环境变量设置:cmdrundll32 sysdm.cpl,EditEnvironmentVariables在"系统变量"和"用户变量"的
Path里,把带有nodejs或NodeJS的旧路径全部删掉。
第二步:下载与安装 NVM
- 下载安装包 :直接访问官方 GitHub 发布页:点击这里跳转 NVM-Windows Releases
- 找到最新版本(如
v2.0.1)下方的Assets展开,下载nvm-setup.exe(绝大多数电脑选x64即可)。 - 安装 :找到下载好的文件,右键 -> 以管理员身份运行。
- 路径选择(防 C 盘爆满) : 安装时,NVM 会问你要两个路径。
- 一个是
NVM_HOME(程序本体),你可以放在 C 盘默认路径。 - 另一个是
Node.js storage path(Node 数据) ,强烈建议改到 D 盘(例如新建一个D:\dev\nvm文件夹)。
- 一个是
🌐 第三步:配置国内镜像(解决下载超时)
【现象】 :装完 NVM 后,输入 nvm install 20,卡了半天,报错 context deadline exceeded。这是国内网络连不上官方源导致的。
【避坑】 :NVM 2.0 版本已经不支持 直接敲 nvm node_mirror xxx 了,必须改配置文件。
【操作】:
-
按下
Win + R,输入以下命令打开配置文件:cmdnotepad %APPDATA%\nvm\settings.txt -
在打开的记事本文件末尾,另起两行 ,直接复制粘贴以下内容(注意结尾的斜杠
/不能少):textnode_mirror: https://npmmirror.com/mirrors/node/ npm_mirror: https://npmmirror.com/mirrors/npm/ -
按
Ctrl + S保存,关掉记事本。
🚨 终极排坑:如果提示"系统找不到指定的路径"怎么办? 在 NVM 2.0.1 版本中,配置文件可能并不在上述默认位置。别慌,按下面两步走:
1. 找到 NVM 真正的安装目录: 打开环境变量设置(
Win + R输入rundll32 sysdm.cpl,EditEnvironmentVariables),找到NVM_HOME变量,它的值就是你的真实安装目录(例如C:\Users\你的用户名\AppData\Local\Author Software\nvm)。2. 手动创建配置文件: 进入刚才找到的
NVM_HOME文件夹,看看有没有settings.txt。
如果有:直接用记事本打开,把上面的镜像源代码粘进去。
如果没有 :右键新建一个文本文档,重命名为
settings.txt,用记事本打开,把下面全部 内容复制进去并保存(注意替换为你自己的路径):
text# 这里填你安装时选择的 D 盘 Node 存放路径 root: D:\dev\nvm # 这里是 NVM 创建 Node 快捷方式的路径(可以和上面一致) path: D:\dev\nvm\nodejs node_mirror: https://npmmirror.com/mirrors/node/ npm_mirror: https://npmmirror.com/mirrors/npm/
第四步:解决"'nvm' 不是内部或外部命令"
【现象】 :配置好了,一敲 nvm version,提示找不到命令。 【原因】 :NVM 2.0 把主程序装在了 C 盘的 AppData 目录下,但环境变量没指对。
【操作】:
-
再次打开环境变量设置:
cmdrundll32 sysdm.cpl,EditEnvironmentVariables -
找到用户变量或系统变量里的
NVM_HOME,双击编辑。 -
确保它的值指向了
nvm.exe真正所在的文件夹(通常长这样,请把"你的用户名"替换掉):C:\Users\你的用户名\AppData\Local\Author Software\nvm -
点确定保存后,关掉所有 CMD 窗口,必须重新开一个(旧窗口不生效)。
第五步:安装与切换 Node
在新打开的 CMD(建议以管理员身份运行)中依次执行以下命令:
-
安装 Node 20 (配了镜像,速度飞快):
cmdnvm install 20 -
切换并启用 :
cmdnvm use 20(如果这里报
Access is denied,请关掉 CMD,右键"以管理员身份运行"再试一次) -
验证是否成功 :
cmdnode -v npm -v如果能分别输出
v20.x.x和10.x.x,说明大功告成!
补充说明:重装全局包与解决 pnpm 报错
-
重装全局工具 :如果你之前全局装过
pnpm、yarn或vercel,因为环境重装了,需要重新安装:cmdnpm install -g pnpm vercel -
pnpm 的
Invalid URL报错 :如果你在项目里运行pnpm遇到Could not download the pnpm binary: Invalid URL,是因为 pnpm 自己下载二进制文件时没走镜像。可以在 PowerShell 里临时设置环境变量解决:powershell$env:COREPACK_NPM_REGISTRY="https://registry.npmmirror.com"然后再去项目目录执行
pnpm install即可。

