查看: 100|回复: 0

nvm-windows安装多Node版本与镜像源排错

[复制链接]
发表于 2 小时前 | 显示全部楼层 |阅读模式
在 Windows 上同时维护多个 Node.js 版本,常见场景是多项目并行开发,不同项目依赖的 Node 版本不同,直接全局安装容易出现版本冲突和环境隔离问题。nvm-windows 可以在同一台机器自由安装、切换多个 Node.js 版本。需要注意,nvm 主要面向单用户开发环境;在共享开发环境或 CI/CD 构建服务器上,多用户或构建代理同时通过 nvm 切换版本,可能因符号链接指向冲突产生异常,这类生产级构建服务器更适合用 Docker 容器隔离环境。以下实践以 nvm-windows 1.1.12 为例。

一、安装前清理与版本选择
nvm-windows 正常工作的前提是先彻底卸载已安装的 Node.js。如果不清理,可能导致 nvm 无法管理 Node.js 版本,或者新旧环境冲突,使 node、npm 命令失效。版本选择方面:nvm-windows 1.1.12 适合需要 Node.js 18 及以下版本的场景,是 1.1 系列最终版,稳定且没有 1.2 系列存在的 npm 安装 bug;nvm-windows 1.2.2 适合仅使用 Node.js 18 以上版本,如 20、22、24,是 1.2 系列最新版,通常不受该 npm 安装 bug 影响。本文使用 1.1.12。

下载 nvm-setup.exe 后双击运行,按提示一路下一步。安装完成后重新打开 CMD 或 PowerShell,执行:
  1. nvm version
复制代码
能显示版本号即表示安装成功。

二、配置国内镜像源
Node.js 默认镜像为 https://nodejs.org/dist/,npm 默认镜像为 https://github.com/npm/npm/archive/12。官方源服务器位于国外,国内网络下直接下载可能较慢,甚至超时中断。可通过命令更换淘宝镜像:
  1. nvm node_mirror https://npmmirror.com/mirrors/node/
  2. nvm npm_mirror https://npmmirror.com/mirrors/npm/
复制代码
也可以在 nvm 安装目录下找到 settings.txt,在文件末尾追加相同配置。默认目录为 C:\\Users\\<用户名>\\AppData\\Roaming\\nvm。

原文列出的常用镜像还包括:淘宝/阿里 npmmirror,Node.js 镜像 https://npmmirror.com/mirrors/node/,npm 镜像 https://npmmirror.com/mirrors/npm/;清华大学 TUNA 的 Node.js 镜像 https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/;中国科学技术大学 USTC 的 Node.js 镜像 https://mirrors.ustc.edu.cn/node/;腾讯云 Node.js 镜像 https://mirrors.cloud.tencent.com/nodejs-release/,npm 镜像 https://mirrors.cloud.tencent.com/npm/;华为云 Node.js 镜像 https://mirrors.huaweicloud.com/nodejs/,npm 镜像 https://mirrors.huaweicloud.com/npm/。

三、安装并切换 Node.js 14.18.0
先查看可安装版本,再安装并切换 14.18.0:
  1. nvm list available
  2. nvm install 14.18.0
  3. nvm use 14.18.0
  4. nvm ls
  5. node -v
  6. npm -v
复制代码
安装过程会下载 node.js version 14.18.0 的 64 位版本,并下载 npm version 6.14.15 后完成安装。执行 nvm use 14.18.0 后,输出显示 Now using node v14.18.0 (64-bit);nvm ls 中 14.18.0 前有星号表示当前使用;node -v 为 v14.18.0,npm -v 为 6.14.15。

四、再安装 Node.js 22.23.2
继续安装第二个版本并切换:
  1. nvm install 22.23.2
  2. nvm use 22.23.2
  3. nvm ls
复制代码
安装输出显示 npm v10.9.8 installed successfully。执行 nvm use 22.23.2 后,输出显示 Now using node v22.23.2 (64-bit);nvm ls 中 22.23.2 前有星号,14.18.0 仍保留在已安装列表中,说明多版本可以共存并按需切换。

五、报错 Node.js v24.18.0 is not yet released or is not available
安装 24.18.0 时可能遇到:
  1. nvm install 24.18.0
  2. Node.js v24.18.0 is not yet released or is not available.
复制代码
即使 nvm-windows 1.1.12 已安装成功,并且淘宝镜像源上确实存在 v24.18.0,安装仍可能失败。问题根源是 nvm-windows 1.1.12 的版本识别缺陷:该版本发布时,Node.js 24 系列可能还未发布或处于早期阶段,内置版本列表解析逻辑可能无法识别 v24.18.0 这类较新的版本号,从而错误判断为不存在或未发布。原文也不建议选择当时最新的 v24.18.1,原因是旧版 nvm-windows 可能无法识别最新版本号。解决方式是安装 Node.js 22 LTS 的最新版本 22.23.2:
  1. nvm install 22.23.2
  2. nvm use 22.23.2
  3. nvm ls
复制代码
随后用 node -v 和 npm -v 验证当前版本。

排查时可按以下顺序进行:先彻底卸载旧 Node.js;用 nvm version 确认 nvm-windows 已安装;配置 node_mirror 和 npm_mirror;执行 nvm list available 查看可安装版本;根据 nvm-windows 版本选择兼容的 Node.js 大版本;遇到 not yet released 报错时优先安装 22.23.2 这类 LTS 版本;执行 nvm use 后用 nvm ls 查看星号确认当前版本;最后用 node -v、npm -v 验证命令是否生效。该方案适用于 Windows 单用户开发机上多项目并行开发、需要频繁切换 Node.js 版本的场景;共享开发环境或自动化构建服务器如需并发切换,应优先考虑容器隔离。
回复

使用道具 举报

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

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

Hacking Group 021A

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

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

官方核心成员

关注微信公众号

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

GMT+8, 2026-10-26 16:24 , Processed in 0.024630 second(s), 28 queries , Gzip On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部