浅析nvm介绍、安装与使用以及遇到的问题解决
一、nvm 是什么
nvm 全名 node.js version management,是一个 nodejs 的版本管理工具。通过它可以安装和切换不同版本的 nodejs,主要解决 node 各种版本存在不兼容现象。
在工作中,我们可能同时在进行2个或者多个不同的项目开发,每个项目的需求不同,进而不同项目必须依赖不同版本的 NodeJS 运行环境,这种情况下,对于维护多个版本的 node 将会是一件非常麻烦的事情。nvm 就是为解决这个问题而产生的,他可以方便的在同一台设备上进行多个node版本之间切换。
二、下载nvm
可以下载最新nvm版本,本次下载安装的是windows版本。git 下载地址:https://github.com/coreybutler/nvm-windows/releases,打开网址我们可以看到以下安装包:
选择安装版:下载地址中,nvm-noinstall.zip
是免安装版,nvm-setup.zip
是安装版。安装版可以自动设置环境变量。
这里有一篇文章,讲解了具体如何安装或配置安装版或免安装版,可以学习下:《nvm安装踩坑过程 - https://blog.csdn.net/zoujiawei6/article/details/85322170》
1、需要注意的是:安装 nvm 路径最好不要出现中文和空格
2、镜像加速
下载后按照默认配置一步步安装,由于国外的镜像源下载慢,所以可以打开 nvm 的安装位置,打开 nvm\settings.txt 添加:
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
三、安装、管理 node 常用命令
nvm off // 禁用node.js版本管理(不卸载任何东西)
nvm on // 启用node.js版本管理
nvm install <version> // 安装node.js的命名 version是版本号 例如:nvm install 8.12.0
nvm uninstall <version> // 卸载node.js是的命令,卸载指定版本的nodejs,当安装失败时卸载使用
nvm ls // 显示所有安装的node.js版本
nvm list available // 显示可以安装的所有node.js的版本
nvm use <version> // 切换到使用指定的nodejs版本
nvm v // 显示nvm版本
nvm install stable // 安装最新稳定版
其他命令提示:
nvm arch :显示node是运行在32位还是64位。
nvm install [arch] :安装node, version是特定版本也可以是最新稳定版本latest。可选参数arch指定安装32位还是64位版本,默认是系统位数。可以添加–insecure绕过远程服务器的SSL。
nvm proxy [url] :设置下载代理。不加可选参数url,显示当前代理。将url设置为none则移除代理。
nvm node_mirror [url] :设置node镜像。默认是https://nodejs.org/dist/。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。
nvm use [version] [arch] :使用制定版本node。可指定32/64位。
nvm root [path] :设置存储不同版本node的目录。如果未设置,默认使用当前目录。
四、遇到问题解决
1、windows 上安装 nvm 后选择 node 版本出现 exit status 1...
问题:nvm install x.x.x 可以安装成功,但无法切换和使用,报错 exit status 1
原因:把 nvm 安装到了有空格的路径上(D:\Program Files),导致切换失败
解决:把 nvm 卸载重装到没有空格的路径上(例如:D:\nvm),即可解决问题
2、nvm 在 CMD 中不生效
报错:nvm : 无法将 “nvm” 项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
意思就是 nvm 还不是个命令,说明没有配置成功。
原因:当环境变量没配正确时(使用免安装版时需要配置环境变量),重启也不会生效。在确保环境变量配置正确后,重启 cmd 控制台后会生效。
我用的安装版,我这里使用“以管理员身份运行” CMD 后就可以生效,但是在之前我先点了一下 nvm 应用让其运行(具体原因不清楚)
3、npm Download failed
有时候安装 node 安装成功之后,会去安装 npm 有时候就会报错 npm 拒绝啥的,具体报错没有记录
解决:使用镜像加速(把镜像加速的那2行加入,重新开 cmd 安装即可)
4、node 版本安装成功,但是使用时还是之前的版本
就像这样,我之前安装过node版本 10.15.0,没有卸载,直接安装的 nvm,并用 nvm 安装了 14.18.1 的 node。如下切换成 14.18.1 版本也正常,但是查看 node -v 却还是之前的版本。

解决:在安装 NVM for Windows 之前,您需要卸载任何现有版本的 node.js,还需要删除任何现有nodejs安装目录。以下是官方原文:
Please note, you need to uninstall any existing versions of node.js before installing NVM for Windows.
Also delete any existing nodejs installation directories.
所以我卸载了 nvm,卸载了 nodejs,然后重新安装 nvm,再进行相关操作,就可以成功切换 node 版本了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2017-10-13 深入理解jQuery中$.get、$.post、$.getJSON和$.ajax的用法
2017-10-13 JS组件系列——封装自己的JS组件