尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Windows环境安装NVM高效管理多个Node.js版本(NVM的完整安装流程、NVM相关配置、NVM的常用命令、使用NVM时可能遇到的问题、NVM管理多个Node.js版本的原理)

Windows环境安装NVM高效管理多个Node.js版本(NVM的完整安装流程、NVM相关配置、NVM的常用命令、使用NVM时可能遇到的问题、NVM管理多个Node.js版本的原理) 文章目录1. 什么是NVM2. 卸载原有的Node.js3. NVM的完整安装流程3.1 下载NVM3.2 安装NVM3.3 验证NVM是否成功安装4. NVM相关配置4.1 创建用于存放多个Node.js的目录4.2 设置环境变量用户变量和系统变量都要设置4.2.1 用户变量4.2.2 系统变量4.3 验证环境变量是否设置成功4.4 下载最新的长期支持的Node.js版本LTS4.5 删除用于存放多个Node.js的目录4.6 启用 NVM 对 Node.js 版本的管理功能4.7 设置npm镜像源使用淘宝镜像源5. NVM的常用命令5.1 查看可安装的Node.js版本nvm list available5.2 安装指定版本的Node.jsnvm install version5.3 使用某个Node.js版本nvm use version5.4 显示当前正在使用的Node.js版本nvm current5.5 列出已安装的所有Node.js 版本nvm list5.6 卸载指定版本的Node.jsnvm uninstall version6. 使用NVM时可能遇到的问题6.1 The process cannot access the file because it is being used by another process.6.1.1 问题呈现6.1.2 问题产生的原因6.1.3 解决方法6.2 activation error: NVM_SYMLINK is set to a physical file/directory at F:\nvm\nodejs6.2.1 问题呈现6.2.2 问题产生的原因6.2.3 解决方法6.3 error installing 24.13.0: Node.js v24.13.0 is not yet released or is not available for download yet.6.3.1 问题呈现6.3.2 问题产生的原因6.3.3 解决方法6.4 node 不是内部或外部命令也不是可运行的程序或批处理文件6.4.1 问题呈现6.4.2 问题产生的原因6.4.3 解决方法7. NVM管理多个Node.js版本的原理1. 什么是NVMNVMNode Version Manager是一款专为 Node.js 设计的多版本管理工具允许开发者在同一台设备上独立安装、管理和切换多个 Node.js 版本解决因项目依赖差异导致的版本冲突问题2. 卸载原有的Node.js使用 NVM 之前需要先卸载电脑上原有的 Node.js推荐使用 Geek Uninstaller 卸载https://geekuninstaller.com/download卸载原有的 Node.js 后按下Win R快捷键输入cmd打开终端在终端中输入node -v指令node-v当出现node 不是内部或外部命令也不是可运行的程序或批处理文件。时说明原有的 Node.js 卸载成功了3. NVM的完整安装流程3.1 下载NVMNVM的最新版本是1.2.2截至2026年06月06日下载地址https://github.com/coreybutler/nvm-windows/releases/tag/1.2.2https://github.com/coreybutler/nvm-windows/releases/tag/1.2.2如果无法正常访问 GitHub可以参考我的另一篇博文GitHub的使用技巧加速访问GitHub、查看GitHub的热门项目、查看GitHub推荐的项目、Fork、Issue、快速找到项目的安装包、GitHub的各种快捷键3.2 安装NVM双击nvm-setup.exe文件安装NVM点击I accept the agreement后点击 Next 按钮选择 NVM 的安装路径这个安装路径后面会用到选择完成后点击 Next 按钮暂时不选择 symlink 的存放路径后面会重新设置直接点击 Next 按钮点击 Next 按钮无需填写电子邮箱点击 Next 按钮点击 Install 按钮安装完成的界面3.3 验证NVM是否成功安装如果在终端中输入nvm -v指令后报错可能是因为当前终端使用的是旧的环境变量可以打开一个新的终端再次运行nvm -v指令按下Win R快捷键输入cmd打开终端在终端中输入nvm -v指令nvm-vnvm-v当终端中显示出 NVM 的具体版本号时就说明 NVM 安装成功了4. NVM相关配置4.1 创建用于存放多个Node.js的目录我们在 NVM 的安装目录下新建一个名为nodejs的目录用于存放各个版本的 Node.js4.2 设置环境变量用户变量和系统变量都要设置按下Win i快捷键打开设置界面搜索环境变量关键字点击编辑系统环境变量点击环境变量由于 NVM 在安装的时候同时设置了用户变量和环境变量所以我们需要分别修改用户变量和环境变量中名为NVM_SYMLINK的变量4.2.1 用户变量在用户变量中找到NVM_SYMLINK变量双击打开接着点击浏览目录选择我们刚才创建的用于存放多个版本Node.js的目录最后点击确定每一个窗口都要点击确定按钮4.2.2 系统变量在系统变量中找到 NVM_SYMLINK 变量双击打开接着点击浏览目录选择我们刚才创建的用于存放多个版本Node.js的目录最后点击确定每一个窗口都要点击确定4.3 验证环境变量是否设置成功按下Win R快捷键输入cmd打开终端在终端中输入echo %NVM_HOME% echo %NVM_SYMLINK%指令echo %NVM_HOME% echo %NVM_SYMLINK%当终端中显示出两个环境变量的值时就说明环境变量设置成功了4.4 下载最新的长期支持的Node.js版本LTS在终端中输入 nvm list available 指令找到最新的长期支持的 Node.js 版本nvm list available输入 nvm install version 指令其中 version 为最新的长期支持的 Node.js 版本nvminstall24.19.0如果安装时遇到以下错误请参考本文的 error installing 24.13.0: Node.js v24.13.0 is not yet released or is not available for download yet. 章节error installing 24.19.0: Node.js v24.19.0 is not yet released or is not available for download yet4.5 删除用于存放多个Node.js的目录删除我们刚才创建的用于存放多个Node.js的目录选中文件夹后按下CTRL D快捷键可以快速删除为什么我们创建用于存放多个 Node.js 的目录后又要删除呢主要是因为我们创建的目录是一个真实目录而 NVM 需要的是一个虚拟目录可以理解为 Windows 系统中的快捷方式或 Linux 系统中的软连接具体可以参考本文的 NVM管理多个Node.js版本的原理 章节4.6 启用 NVM 对 Node.js 版本的管理功能输入 nvm on 指令启用 NVM 对 Node.js 版本的管理功能nvm on如果运行 nvm on 指令可能会显示 No versions of node.js found. Try installing the latest by typing nvm install latest 信息这是因为 nvm 尚未安装任何一个版本的 Node.js4.7 设置npm镜像源使用淘宝镜像源通过 NVM 的 nvm npm_mirror 指令设置 npm 镜像源似乎不会生效所以采用最原始的 npm config set 指令按下Win R快捷键输入cmd打开终端在终端中输入 npm config set registry https://registry.npmmirror.com 指令npm config set registry https://registry.npmmirror.com5. NVM的常用命令5.1 查看可安装的Node.js版本nvm list availablenvm list availablenvm list available 指令列出的大多都是较新版本的 Node.js如果想下载旧版本的 Node.js可以访问 https://nodejs.org/zh-cn/about/previous-releases 网站https://nodejs.org/zh-cn/about/previous-releases5.2 安装指定版本的Node.jsnvm install versionnvminstallversion例如安装 22.14.0 版本的Node.jsnvminstall22.14.05.3 使用某个Node.js版本nvm use versionnvm use version例如使用 22.14.0 版本的 Node.jsnvm use22.14.0使用某个 Node.js 版本后可以输入以下指令检查是否设置成功node-vnpm-v5.4 显示当前正在使用的Node.js版本nvm currentnvm current5.5 列出已安装的所有Node.js 版本nvm listnvm list5.6 卸载指定版本的Node.jsnvm uninstall versionnvm uninstallversion例如卸载 22.14.0 版本的Node.jsnvm uninstall22.14.06. 使用NVM时可能遇到的问题6.1 The process cannot access the file because it is being used by another process.6.1.1 问题呈现在使用 nvm 下载低版本的 Node.js14.21.3时控制台抛出以下错误Downloading node.js version 14.21.3 (64-bit)…CompleteDownloading npm…Creating C:\Users\冰封神奇\AppData\Local\Temp\nvm-install-1038795423\tempDownloading npm version 6.14.18… Download failed. Rolling Back.C:\Users\冰封神奇\AppData\Local\Temp\nvm-install-1038795423\temp\npm-v6.14.18.zipRollback failed. remove C:\Users\冰封神奇\AppData\Local\Temp\nvm-install-1038795423\temp\npm-v6.14.18.zip: The process cannot access the file because it is being used by another process.error installing 14.21.3: Could not download npm for node v14.21.3.Please visit http://registry.npmmirror.com/mirrors/npm/14.21.3 to download npm.It should be extracted to F:\nvm\nvm\v14.21.36.1.2 问题产生的原因从控制台中给出的报错信息中可以看出Node.js 下载成功了在文件资源管理器中可以看到对应版本的 Node.js但是 npm 没有下载成功具体的原因是 npm 压缩包的保存路径和 nvm 提取压缩包的路径不一致6.1.3 解决方法参考我的另一篇博文NVM下载低版本的Node.js时报错The process cannot access the file because it is being used by another process.6.2 activation error: NVM_SYMLINK is set to a physical file/directory at F:\nvm\nodejs6.2.1 问题呈现C:nvm onnvm enabledactivation error: NVM_SYMLINK is set to a physical file/directory at F:\nvm\nodejsPlease remove the location and try again, or select a different location for NVM_SYMLINK.6.2.2 问题产生的原因我们创建的用于存放各个 Node.js 版本的目录是一个真实目录而 NVM 需要的是一个虚拟目录可以理解为 Windows 系统中的快捷方式或 Linux 系统中的软连接具体可以参考本文的 NVM管理多个Node.js版本的原理 章节6.2.3 解决方法参考本文的 删除用于存放多个Node.js的目录 章节6.3 error installing 24.13.0: Node.js v24.13.0 is not yet released or is not available for download yet.6.3.1 问题呈现error installing 24.13.0: Node.js v24.13.0 is not yet released or is not available for download6.3.2 问题产生的原因从控制台中给出的报错信息中可以看出Node.js v24.13.0 尚未发行或者暂时不可下载但是截止2026年02月07日Node.js 的官网显示 Node.js v24.13.0 早已发行https://nodejs.org/en/download6.3.3 解决方法目前还没有很好的解决方法只能手动下载 Node.js v24.13.0 后放到指定目录具体可以参考我的另一篇博文NVM下载低版本的Node.js时报错The process cannot access the file because it is being used by another process.6.4 ‘node’ 不是内部或外部命令也不是可运行的程序或批处理文件6.4.1 问题呈现‘node’ 不是内部或外部命令也不是可运行的程序或批处理文件。6.4.2 问题产生的原因大概率是因为使用 NVM 安装某个版本的 Node.js 之后没有启用 NVM 对 Node.js 版本的管理功能6.4.3 解决方法参考本文的 启用 NVM 对 Node.js 版本的管理功能 章节成功启用 NVM 对 Node.js 版本的管理功能之后输入 nvm list 指令启用的 Node.js 版本前面会有个 * 号nvm list7. NVM管理多个Node.js版本的原理其实 NVM 管理多个 Node.js 版本的原理并不复杂在安装 NVM 时NVM 让我们选定了两个目录第一个目录是 NVM 的安装目录对应系统环境变量中的NVM_HOME属性所有版本的 Node.js 都会安装在这个目录下第二个目录是软链接相当于 Windows 系统中的快捷方式和 Linux 系统中的软连接的位置对应系统环境变量中的NVM_SYMLINK属性软链接指向的就是当前正在使用的 Node.js 的根目录我们在文件资源管理器中可以验证这一点nodejs 目录前面的文件夹图标的左下角有一个快捷方式的图标右键快捷方式查看快捷方式的属性就可以看到快捷方式具体指向了哪个目录我们在 cmd 窗口中输入nvm use version指令时本质上就是在调整快捷方式的指向输入nvm use version指令时本质上就是在调整快捷方式的指向怎么验证呢一般使用 nvm 切换 Node.js 的版本时会弹出一个窗口让你确认我们点击窗口的显示更多详细信息选项可以发现 nvm 本质上是调用 cmd.exe 文件运行了 “C:\Windows\System32\cmd.exe” /C mklink /D D:\Nvm\nodejs D:\Nvm\nvm\v24.16.0 指令指令的作用就是在 D:\Nvm\nodejs 位置创建一个指向 D:\Nvm\nvm\v24.16.0 的目录符号链接C:\Windows\System32\cmd.exe/C mklink /D D:\Nvm\nodejs D:\Nvm\nvm\v24.16.0之所以每次使用 nvm 切换 Node.js 的版本时都需要弹出窗口让我们确认是因为执行创建目录符号链接命令需要管理员权限Windows 系统出于安全考虑默认将创建符号链接的操作限制为仅管理员或特定权限用户可执行。这是为了防止恶意程序或普通用户滥用符号链接功能从而引发系统安全风险如路径劫持、权限提升等知道 nvm 管理多个 Node.js 版本的原理之后你是不是觉得十分简单甚至感觉自己也能做一个类似的软件出来如果你有这个想法恭喜你你的思维已经比一般的程序员高不少了其实很多时候想法才是最重要的技术只是一个载体或者说是一个工具关键之处在于将想法变成现实的执行力就像 nvm 的作者一样相信他也是在开发项目的时候发现切换多个版本的 Node.js 版本时很麻烦所以开发出了 软件并受到了广大开发者的青睐所以说如果你也有类似的想法大可以自己花时间做一个产品出来再适当推广或许你也能成为下一个大牛
返回列表