在工作中我们经常会遇到同时并行开发多个项目的情况,如果有两个项目所依赖的node版本不一致,就会让我们很苦恼。比如项目A是多年前的老项目所依赖的node版本为14以下,项目B是我们刚启动的新项目,所依赖的node版本为16以上,这时候我们怎么在同一个时期并行开发这两个项目呢?是来回卸载安装node吗?
这种情况下,对于维护多个版本的node将会是一件非常麻烦的事情,nvm就是为解决这个问题而产生的,他可以方便的在同一台设备上进行多个node版本之间切换。
nvm 的下载安装和使用
- window系统下载nvm-setup.zip安装包
- nvm-setup.zip:安装版,推荐使用,下一步式傻瓜安装
- nvm-noinstall.zip:绿色免安装版,但使用时需进行配置环境变量。
- nvm 安装
如果电脑上之前已经单独安装了node,需要先卸载干净,卸载方式见下方window 下完全卸载删除 nodejs。然后解压nvm-setup.zip安装包,进入解压的文件夹,双击exe后缀文件根据提示进行安装。安装过程中需要选择nvm和nodejs的安装路径,一般默认即可。
安装完毕后输入命令 nvm -v
查看版本,安装成功则显示版本号和列出了各种使用命令。
设置setting.txt(可忽略不设置)
在 nvm 的安装路径下,找到 settings.txt,设置node_mirro与npm_mirror为国内镜像地址,防止下载速度过慢。
在后面添加这两行代码
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
- 使用
-
列出所有可以安装的Node版本号
nvm list available
-
安装指定版本的node,
nvm install x.x.x
-
使用特定版本的node,
nvm use x.x.x
,这里可能无法执行成功,会有一个报错,见下方nvm use报错exit status 1解决方法
-
列出所有已经安装的Node版本
nvm ls
,这里当前正在使用中的版本前面会有一个 * 号标注
-
按照以上步骤设置完成后,我们输入
node -v
,可以看到node的版本好成功显示出来,代表我们安装成功了
下面列出 nvm 的一些常用命令
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 current // 显示当前使用中的nvm版本
window 下完全卸载删除 nodejs
- 从卸载程序卸载程序和功能。
- 重新启动(或者您可能会从任务管理器中杀死所有与节点相关的进程)。
- 寻找这些文件夹并删除它们(及其内容)(如果还有)。根据您安装的版本,UAC设置和CPU架构,这些可能或可能不存在:
C:\Program Files (x86)\Nodejs
C:\Program Files\Nodejs
C:\Users{User}\AppData\Roaming\npm(或%appdata%\npm)
C:\Users{User}\AppData\Roaming\npm-cache(或%appdata%\npm-cache) - 检查您的%PATH%环境变量以确保没有引用Nodejs或npm存在。
- 如果仍然没有卸载,请where node在命令提示符下键入,您将看到它所在的位置 - 删除(也可能是父目录)。
- 重新启动,很好的措施。
nvm use报错exit status 1解决方法
nvm use 版本报错,出现exit status 1后面跟一堆乱码的原因是因为无权限。
打开c盘C:\Windows\System32找到 cmd.exe
,以管理员身份打开后,再次使用 nvm use x.x.x
可实现成功切换。