nvm安装node v14及更早版本安装npm失败问题

48 阅读2分钟

nvm 安装 node v14 及更早版本会进行报错

以 node 12 为例

显示 node 安装包成功获取到本地,nvm 提示 npm 也下载完成

Installing npm v6.14.11 开始将下载的 npm 安装包(zip 压缩包)解压并安装到 node.js 12.22.0 目录中的时候,报错文件不存在

nvm list 命令查看却没有 node 12版本

查看安装 npm 的文件夹

找了一下,发现文件被下载在 node 临时文件夹 nvm-install-2918202054\temp 内

npm 文件“错位”

核心原因是 nvm 安装 npm 时的 “临时文件路径逻辑冲突” ,导致下载和读取的目录不一致,具体拆解如下:

  1. nvm 安装 npm 的正常流程(本应如此)

正常情况下,nvm 会按 “下载 → 存放 → 读取” 的统一路径执行:

  • 先创建 nvm-npm-xxxx 文件夹(专门存放 npm 压缩包);
  • npm-v6.14.11.zip 下载到这个文件夹;
  • 安装时从同一文件夹读取 zip 文件解压。
  1. 我遇到的异常情况:路径 “错位”

实际流程中出现了路径不匹配,导致读取失败:

  • nvm 先创建了 nvm-install-2918202054\temp(原本是 Node.js 安装的临时目录);
  • 误将 npm 压缩包下载到了这个 temp 目录,而非专门的 nvm-npm-3816722171 目录;
  • 后续安装时,nvm 仍按默认逻辑去 nvm-npm-3816722171 找文件,自然找不到(文件实际在 temp 里)。
  1. 为什么会出现路径错位?

    • 旧版本 nvm 的 Bug:nvm 对 Node.js v14 及更早版本的 npm 安装路径处理有兼容问题,尤其是 Windows 系统下,容易出现目录创建和文件存放的逻辑脱节。
    • 临时目录残留:之前安装失败后,未清理 nvm-install-xxxxnvm-npm-xxxx 残留文件夹,导致 nvm 复用旧目录路径时出错。
    • 权限干扰:非管理员身份运行终端时,nvm 可能无法正常创建 nvm-npm-xxxx 目录,转而将文件存到已存在的 temp 目录。

安装 Node.js 12.22.0 时,nvm 下载 npm 包失败(找不到临时文件),这通常是网络问题、临时目录权限不足、安全软件拦截等原因。

解决方案

找到自己安装 nvm 的目录并打开,如果不记得nvm安装的目录了,可以去环境变量中查看:

1、根据自己 cmd 的提示找到安装的临时文件夹 nvm-install-2918202054

2、点开 temp 文件(npm 被下载在 temp 文件内)

3、进入 npm-v6.14.11 文件夹

4、进入到 npm/bin 文件夹

5、cmd 输入命令行 nvm list 可以看见安装成功