文章目录一、简介二、安装前准备2.1 系统要求2.2 卸载已有的 Node.js2.3 说明三、下载 NVM四、安装 NVM4.1 安装包安装nvm-setup.exe— 推荐4.2 免安装版nvm-noinstall.zip五、验证安装六、使用 NVM 管理 Node.js6.1 查看可用版本6.2 安装 Node.js6.3 查看已安装版本6.4 切换版本6.5 卸载版本七、常用 NVM 命令速查表八、配置国内镜像源推荐九、常见问题排查9.1 nvm 命令无法识别9.2 nvm use 切换版本后 node 命令无效9.3 npm install 报错权限问题9.4 安装 Node.js 速度很慢一、简介官网https://github.com/coreybutler/nvm-windowsNVMNodeVersionManager是一个用于管理多个Node.js版本的命令行工具。在实际开发中不同的项目可能依赖不同版本的Node.js——比如老项目还在用Node 14而新项目已经用上了Node 20。如果每次都要手动卸载和重装Node.js既繁琐又容易出错。NVM可以让开发者在同一台机器上轻松安装、切换和管理多个Node.js版本极大提升了开发效率。NVM的主要特点和用途包括多版本共存可以在同一台机器上安装多个Node.js版本按需切换互不干扰。快速切换通过一条命令即可在不同Node.js版本之间切换无需重新安装。统一管理集中管理所有已安装的Node.js版本方便查看、安装和卸载。项目适配不同项目可以使用不同版本的Node.js避免因版本不兼容导致的运行错误。轻量便捷安装简单占用资源极少是Node.js开发者的必备工具。说明NVM最初是为 Linux/macOS 设计的https://github.com/nvm-sh/nvm。本文介绍的是nvm-windows即由coreybutler开发的 Windows 版本https://github.com/coreybutler/nvm-windows两者命令基本一致但安装方式有所不同。二、安装前准备2.1 系统要求在安装NVM之前请确认你的 Windows 系统满足以下要求要求项最低配置操作系统Windows 7 / Windows Server 2008 R2 及以上系统架构64 位推荐内存512 MB 可用内存磁盘空间至少 50 MB 可用空间不含 Node.js 安装空间2.2 卸载已有的 Node.js如果你的电脑上已经通过官方安装包.msi安装了Node.js必须先卸载否则会与NVM管理的版本产生冲突。卸载步骤打开控制面板→程序和功能或设置→应用或者按下Win R键输入appwiz.cpl并回车可直接打开程序和功能窗口找到Node.js右键选择卸载卸载完成后检查并删除以下目录如果存在C:\Program Files\nodejsC:\Users\用户名\AppData\Roaming\npmC:\Users\用户名\AppData\Roaming\npm-cache提示可以先在CMD中执行node -v如果提示node 不是内部或外部命令说明旧版Node.js已经卸载干净了。2.3 说明nvm-windows安装后会自动接管Node.js的版本管理通过nvm install安装的Node.js会自动配置好PATH环境变量。安装nvm-windows之前建议关闭所有已打开的CMD/PowerShell/终端窗口安装完成后重新打开以确保环境变量生效。三、下载 NVM下载地址nvm-windows托管在 GitHub 上GitHub 仓库https://github.com/coreybutler/nvm-windows直接下载页https://github.com/coreybutler/nvm-windows/releases打开上述链接后点击Releases进入版本发布页面nvm-windows提供两种安装方式安装包安装nvm-setup.exe推荐自动配置环境变量免安装版nvm-noinstall.zip手动配置适合高级用户根据自己的偏好选择对应的版本或者安装方式。注意这里不建议安装 1.2.2 版本的 mvn因为 1.2.2 版本在处理 Node.js 18 以下版本的 npm 下载和解压时出现了路径逻辑错误。简单来说nvm 在安装 Node.js 时会先将 npm 下载到一个临时文件夹再解压到目标位置。但在 1.2.2 版本中这个过程出现了错乱npm 被下载到了一个临时目录例如 nvm-install-xxx\temp但 nvm 却去另一个临时目录例如 nvm-npm-xxx寻找并解压这个文件。因为文件并不在它寻找的位置所以最终报错“The system cannot find the file specified.”。这个问题很普遍Node.js 16 及更低版本的安装都会受影响而 Node.js 18 及以上版本则可以正常安装所以我建议选择稳定的 1.1.12 版本四、安装 NVM4.1 安装包安装nvm-setup.exe— 推荐下载nvm-setup.exe安装包。双击安装包运行进入安装向导勾选I accept the agreement点击Next选择NVM的安装目录例如D:\dev\nvm点击Next提示建议将NVM安装到非系统盘如 D 盘避免后续因权限问题导致安装 Node.js 失败。选择Node.js的安装目录即 symlink 目录例如D:\dev\node点击Next注意该目录由 NVM 自动管理是一个符号链接symlink指向当前使用的 Node.js 版本请勿手动修改该目录下的内容。点击Install等待安装完成。安装完成点击Finish。提示安装过程中nvm-setup.exe会自动配置以下系统环境变量无需手动操作环境变量说明示例值NVM_HOMENVM 的安装目录D:\dev\nvmNVM_SYMLINKNode.js 的符号链接目录D:\dev\nodePath追加追加%NVM_HOME%和%NVM_SYMLINK%—至此安装结束。4.2 免安装版nvm-noinstall.zip下载nvm-noinstall.zip压缩包解压到你希望安装的目录例如D:\dev\nvm。解压后的目录结构如下文件说明nvm.exeNVM 主程序settings.txtNVM 配置文件elevate.cmd提权脚本nodejsNode.js 符号链接目录安装后生成解压完成后需要手动配置环境变量操作步骤右键此电脑我的电脑→属性→高级系统设置→环境变量在系统变量中新建两个变量变量名变量值说明NVM_HOMED:\dev\nvm\nvmNVM 的安装目录NVM_SYMLINKD:\dev\nodeNode.js 符号链接目录注意NVM_SYMLINK 配置的文件夹必须存在如果没有需要创建且该文件夹必须是个空文件夹在系统变量中找到Path选中后点击编辑新增以下两条路径%NVM_HOME%%NVM_SYMLINK%然后一路点击确定进行保存在NVM安装目录下编辑settings.txt文件如果这个文件不存在则自己创建即可root: D:\dev\nvm\nvm path: D:\dev\node arch: 64 proxy: none node_mirror: https://npmmirror.com/mirrors/node/ npm_mirror: https://npmmirror.com/mirrors/npm/各字段说明字段说明rootNVM 的安装目录pathNode.js 符号链接目录与NVM_SYMLINK一致arch系统架构64表示 64 位proxy代理设置无代理填nonenode_mirrorNode.js 下载镜像源建议配置国内镜像加速下载npm_mirrornpm 下载镜像源配置完成后关闭所有已打开的CMD窗口重新打开一个新的CMD窗口使环境变量生效。五、验证安装安装完成后打开CMD命令窗口Win R输入cmd执行以下命令验证安装是否成功nvm version# 或者nvm-v如果输出版本号例如1.2.2说明NVM安装成功。提示如果提示nvm 不是内部或外部命令请检查环境变量是否正确配置并重新打开CMD窗口再试。六、使用 NVM 管理 Node.js6.1 查看可用版本查看远程仓库中可安装的Node.js版本列表nvm list available该命令会列出LTS长期支持版和Current最新发行版的各版本信息。说明LTSLong Term Support是长期支持版本稳定性更好适合生产环境使用Current是最新发行版包含最新特性适合尝鲜和学习使用。一般推荐使用 LTS 版本。6.2 安装 Node.js安装指定版本的Node.jsnvminstall20.18.0安装最新的LTS版本nvminstalllts安装最新版本nvminstalllatest提示安装过程会自动下载Node.js并配置到NVM_SYMLINK指定的目录中。如果下载速度较慢建议先配置国内镜像源参见第八章。6.3 查看已安装版本查看本机已安装的所有Node.js版本nvm list当前正在使用的版本会以*号标记输出示例* 20.18.0 (Currently using 64-bit executable) 18.20.4 16.20.26.4 切换版本切换到指定版本的Node.jsnvm use20.18.0切换完成后可以验证当前版本node-vnpm-v提示切换版本后node和npm命令会自动指向对应的版本无需额外配置。如果遇到权限问题请以管理员身份运行CMD后再执行。6.5 卸载版本卸载不再需要的Node.js版本nvm uninstall18.20.4注意不能卸载当前正在使用的版本需要先切换到其他版本后再卸载。七、常用 NVM 命令速查表以下是在 Windows 下使用NVM管理Node.js的常用命令操作命令说明查看 NVM 版本nvm version查看当前 NVM 的版本查看可安装版本nvm list available列出远程仓库中可用的 Node.js 版本安装指定版本nvm install version安装指定版本的 Node.js安装 LTS 版本nvm install lts安装最新的 LTS 版本安装最新版本nvm install latest安装最新版本查看已安装版本nvm list查看本机已安装的所有版本切换版本nvm use version切换到指定版本的 Node.js卸载版本nvm uninstall version卸载指定版本的 Node.js查看 Node.js 版本node -v查看当前使用的 Node.js 版本查看 npm 版本npm -v查看当前使用的 npm 版本开启 NVMnvm on启用 NVM关闭 NVMnvm off禁用 NVM提示nvm on/nvm off仅在 Windows 版本的 NVM 中可用用于临时启用或禁用 NVM 的版本管理功能。八、配置国内镜像源推荐由于Node.js官方源在国内访问较慢建议配置国内镜像源以加速下载。编辑NVM安装目录下的settings.txt文件例如D:\dev\nvm\settings.txt添加或修改以下配置node_mirror: https://npmmirror.com/mirrors/node/ npm_mirror: https://npmmirror.com/mirrors/npm/说明以上使用的是阿里巴巴提供的npmmirror镜像源是国内最稳定、最常用的 Node.js 镜像。如果settings.txt中已有内容只需在末尾追加上述两行即可完整示例root: D:\dev\nvm path: D:\dev\nodejs arch: 64 proxy: none node_mirror: https://npmmirror.com/mirrors/node/ npm_mirror: https://npmmirror.com/mirrors/npm/配置完成后再次执行nvm install命令即可体验高速下载。九、常见问题排查9.1 nvm 命令无法识别执行nvm命令时提示nvm 不是内部或外部命令可能原因及解决方案环境变量未配置检查系统变量中是否已正确配置NVM_HOMEecho%NVM_HOME%如果输出为空说明环境变量未配置请参照第四章的安装步骤重新配置。Path 未更新检查Path中是否包含%NVM_HOME%和%NVM_SYMLINK%CMD 未重启关闭所有CMD/PowerShell窗口后重新打开免安装版路径错误如果是免安装版确认settings.txt中的root和path路径与实际目录一致9.2 nvm use 切换版本后 node 命令无效切换版本后执行node -v提示node 不是内部或外部命令可能原因及解决方案权限不足以管理员身份运行CMD后再执行nvm use符号链接未生效检查NVM_SYMLINK指向的目录是否存在且已被添加到Path中echo%NVM_SYMLINK%旧版 Node.js 冲突确认没有残留的旧版Node.js安装路径与 NVM 的符号链接冲突NVM_SYMLINK 路径配置问题环境变量NVM_SYMLINK可能没有正确设置或者设置的值不符合预期目标路径已存在“物理”文件夹nvm-windows只能在NVM_SYMLINK指向的路径即D:\dev\node不存在任何东西的情况下才能创建符号链接。9.3 npm install 报错权限问题执行npm install -g全局安装时提示权限错误解决方案以管理员身份运行CMD后再执行全局安装命令或修改 npm 全局安装路径到用户目录下npmconfigsetprefix%APPDATA%\npm9.4 安装 Node.js 速度很慢使用nvm install安装 Node.js 时下载速度极慢解决方案配置国内镜像源检查网络代理设置在settings.txt中配置proxy项如果公司网络有限制可联系网络管理员开放npmmirror.com的访问权限参考文献NVM-Windows GitHub 仓库https://github.com/coreybutler/nvm-windowsNVMLinux/macOSGitHub 仓库https://github.com/nvm-sh/nvmNode.js 官方网站https://nodejs.org/npmmirror 中国镜像https://npmmirror.com/