Windows 下 NVM 踩坑实录:命令找不到、下载超时、C盘爆满、环境冲突一次搞定

前几天 macaron-blog 个人作品集项目准备部署到 Vercel。结果在前端目录下执行 pnpm build 时,各种奇葩报错接踵而至:

  1. 先是 ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND(目录不对)。
  2. 接着在配置 Vercel 时,执行 vercel login 报出 TypeError 和 No existing credentials found(疑似 Node.js 高版本不兼容)。
  3. 为了彻底解决,决定重装 NVM(Node Version Manager),结果踩了一路的坑:环境变量失效、网络超时、配置不生效......

网上的教程大多比较旧,NVM 2.0 版本有些逻辑已经改了。这里直接把踩过的坑和最终的实操步骤记录下来。如果你也正被 Windows 下的 Node 环境折磨,直接照着我下面这 5 步做,保准一次跑通。

第一步:彻底清理旧环境(极其重要)

很多人装完 NVM 发现切换版本无效,或者全局包报错,99% 是因为旧版的 Node 没删干净。

  1. 卸载旧版 Node:去控制面板,把以前单独安装的 Node.js 卸载掉。

  2. 删残留文件 :检查一下电脑里有没有 C:\Program Files\nodejs 或者你之前自定义的 Node 文件夹(比如 D:\NodeJS),有的话直接删除。

  3. 清理环境变量 :按下 Win + R,输入以下命令并回车,快速打开环境变量设置:

    cmd 复制代码
    rundll32 sysdm.cpl,EditEnvironmentVariables

    在"系统变量"和"用户变量"的 Path 里,把带有 nodejs 或 NodeJS 的旧路径全部删掉。


第二步:下载与安装 NVM

  1. 下载安装包 :直接访问官方 GitHub 发布页:点击这里跳转 NVM-Windows Releases
  2. 找到最新版本(如 v2.0.1)下方的 Assets 展开,下载 nvm-setup.exe (绝大多数电脑选 x64 即可)。
  3. 安装 :找到下载好的文件,右键 -> 以管理员身份运行。
  4. 路径选择(防 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 了,必须改配置文件。

【操作】:

  1. 按下 Win + R,输入以下命令打开配置文件:

    cmd 复制代码
    notepad %APPDATA%\nvm\settings.txt
  2. 在打开的记事本文件末尾,另起两行 ,直接复制粘贴以下内容(注意结尾的斜杠 / 不能少):

    text 复制代码
    node_mirror: https://npmmirror.com/mirrors/node/
    npm_mirror: https://npmmirror.com/mirrors/npm/
  3. 按 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 目录下,但环境变量没指对。

【操作】:

  1. 再次打开环境变量设置:

    cmd 复制代码
    rundll32 sysdm.cpl,EditEnvironmentVariables
  2. 找到用户变量或系统变量里的 NVM_HOME,双击编辑。

  3. 确保它的值指向了 nvm.exe 真正所在的文件夹(通常长这样,请把"你的用户名"替换掉): C:\Users\你的用户名\AppData\Local\Author Software\nvm

  4. 点确定保存后,关掉所有 CMD 窗口,必须重新开一个(旧窗口不生效)。

第五步:安装与切换 Node

在新打开的 CMD(建议以管理员身份运行)中依次执行以下命令:

  1. 安装 Node 20 (配了镜像,速度飞快):

    cmd 复制代码
    nvm install 20
  2. 切换并启用 :

    cmd 复制代码
    nvm use 20

    (如果这里报 Access is denied,请关掉 CMD,右键"以管理员身份运行"再试一次)

  3. 验证是否成功 :

    cmd 复制代码
    node -v
    npm -v

    如果能分别输出 v20.x.x 和 10.x.x,说明大功告成!


补充说明:重装全局包与解决 pnpm 报错

  1. 重装全局工具 :如果你之前全局装过 pnpm、yarn 或 vercel,因为环境重装了,需要重新安装:

    cmd 复制代码
    npm install -g pnpm vercel
  2. 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 即可。

相关推荐
第404号工位3 小时前
40块钱二手瘦客户端,如何跑满家庭物联网中枢?(拒绝Docker爆盘实录)
linux·架构·node.js
定栓1 天前
Webpack迁到Vite第七节(二):全家桶移除 — Babel 全家桶深度分析
前端·webpack·node.js
wx47661 天前
用代码做视频:我把一个 HTML 页面变成了可复现的 MP4
node.js
doujiaozh1 天前
协议演进实录:从明文哈希到 AES-GCM 加密,如何平滑升级?
后端·node.js
定栓1 天前
Webpack迁到Vite第七节(一):全家桶移除 — 配置文件与构建核心
前端·webpack·node.js
定栓1 天前
Webpack迁到Vite第七节(四):全家桶移除 — 保留项、脚本与数据收尾
前端·webpack·node.js
定栓2 天前
Webpack迁到Vite第五节:第三方库兼容
前端·webpack·node.js
G018_star sky♬2 天前
如何用nodejs写一个简单后端服务
node.js