windows环境安装和使用可切换版本和可切换镜像源的node.js

  1. 如果你需要安装的node版本比较老,建议忽略本文。当前已不支持16以下的版本

一.安装node版本管理器nvm

1.1 卸载现有 Node.js(重要!)

在安装 nvm-windows 之前,请务必通过"添加或删除程序"卸载任何已安装的 Node.js 版本,否则会产生冲突。

  • 控制面板 -> 卸载程序 -> 卸载nodejs
  • 确保彻底删除node,看下node安装目录中有没有node文件夹,删除以下文件夹(如果存在的话)
  • C:\Program Files (x86)\Nodejs
  • C:\Program Files\Nodejs
  • C:\Users{User}\AppData\Roaming\npm
  • C:\Users{User}\AppData\Roaming\npm-cache
  • 删除C:\Users\用户名 下的 .npmrc文件以及 .yarnrc 文件
  • 环境变量中npm、node的所有相关统统删掉

1.2 下载安装包

访问 nvm-windows 发布页面https://github.com/coreybutler/nvm-windows/releases,下载最新的 nvm-setup.exe 安装文件。

1.3 运行安装程序

  • 以管理员身份运行 nvm-setup.exe。

  • 安装程序会询问你 nvm 和 Node.js 的安装路径。建议使用默认路径,例如:

    nvm 根目录: C:\Users<你的用户名>\AppData\Roaming\nvm
    Node.js 符号链接: C:\Program Files\nodejs

    //nvm 会通过切换这个链接指向的文件夹来实现版本切换。

验证安装:

打开一个新的命令提示符(CMD) 或 PowerShell,输入:

复制代码
nvm version

如果显示版本号(如 1.1.12),则安装成功。

1.4 nvm常用命令

1.5 常见问题与解决方案

1.命令未找到:nvm: command not found

原因:Shell 配置没有正确加载。

解决:

确保你重新打开了终端或执行了 source ~/.zshrc(或 ~/.bashrc)。

检查你的配置文件是否包含了 nvm 的初始化脚本。如果没有,手动添加:

复制代码
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

2.安装 Node.js 速度慢或失败

原因:网络问题,特别是从国外官方源下载。

解决:配置镜像源。

在 nvm 的安装目录(如 C:\Users\<用户名>\AppData\Roaming\nvm)下找到 settings.txt 文件,添加:

复制代码
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/
  1. 切换版本后,全局安装的包不见了

原因:这是正常现象。每个 Node.js 版本都有自己独立的全局空间。当你切换版本时,全局环境也随之切换。

解决:在新的 Node.js 版本下重新安装你需要的全局包(如 npm install -g pnpm)。

  1. Windows 下 nvm use 需要管理员权限

原因:nvm-windows 通过创建符号链接来工作,这在某些 Windows 版本上需要管理员权限。

解决:始终以管理员身份运行你的命令行工具(CMD 或 PowerShell)。

  1. 在特定目录下 nvm use 不生效

原因:你可能没有在该目录下创建 .nvmrc 文件,或者文件内容格式不正确。

解决:确保 .nvmrc 文件存在且内容是一个有效的版本号(如 18.19.1),然后再次运行 nvm use。

  1. 如何卸载 nvm?

通过"添加或删除程序"卸载 nvm-windows,并手动删除其安装目录。

二. 安装镜像源管理器nrm

2.1.使用nvm安装node(安装nrm需要使用npm进行安装)

查看可安装版本

复制代码
nvm list available

安装一个node版本(如果国外镜像安装起来比较慢,可参照1.5中第二条指定镜像源,nrm安装完之后删掉这步设置的镜像源,否则nrm切换的镜像源不生效)

复制代码
nvm install 22.14

应用安装的node

复制代码
nvm use 22.14

2.2.安装nrm

复制代码
npm install -g nrm

2.3 nrm常用命令

|----------------|-----------|
| 命令 | 说明 |
| nrm ls | 查看所有可用镜像源 |
| nrm use taobao | 切换镜像源 |
| nrm test | 测试镜像源速度 |

相关推荐
YIAN11 小时前
RAG 学到最后,我真正学会的不是“检索”,而是让系统知道自己缺什么
langchain·node.js·llm
用户119770794807311 小时前
GitHub 电商开源项目分享:用 sharp 批量出饰品主图,试了裁剪、细节图和色彩配置文件三个坑
前端·node.js
donecoding11 小时前
pnpm 配好了,为什么执行的还是另一份?命令入口与运行时排查
node.js·前端工程化
江屿风11 小时前
【Plain Language Large Model】【从浏览器到全栈:一课精通Node.js三剑客】流食般投喂
笔记·前端框架·npm·node.js·js·npx
SomeOtherTime15 小时前
node.js基础(AI回答)
node.js
雨季mo浅忆1 天前
记录Node.js安全漏洞及其内置Brotli解码器问题
node.js·安全性测试
tommyjiatong1 天前
资安底座连环雷:从 PHP2Shell 到 Node2Shell
node.js·php
SEO_juper2 天前
Bash 交叉验证 robots.txt 和 sitemap:两个文件自相矛盾,页面永远收录不了
开发语言·python·node.js·json·bash
SEO_juper2 天前
Go 站点地图生成器:从首页爬全站,一键生成 sitemap.xml
xml·开发语言·人工智能·golang·node.js·seo·外贸独立站
Moshow郑锴2 天前
Ansible 批量部署 Node.js 服务:ZIP 直解与共享目录分发两种方案对比
node.js·ansible