node多版本控制

前言

最近在折腾Python,并将node升级至v18.14.2。突然发现一个旧项目无法运行,也无法打包,里面的node-sass报错,显然这是因为node版本过高导致的。
将node版本降低至以前的v14.16.0,果然立马就能正常运行。

存在不同项目使用npm时所需要的版本不一致,又不想每次都卸载又重新安装node,建议使用nvm,一个专门的node多版本管理器,下次想更换不同的node操作很方便,下面是nvm安装已经使用。


nvm

nvm(node.js version management),是一个nodejs的版本管理工具。可以简单操作node版本的切换、安装、查看。。。

nvm和n都是node.js版本管理工具,为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。

nvm下载安装

下载地址

在这里插入图片描述
解压之后是nvm.exe ,直接安装即可。
注意:我这里的默认地址,可以放在电脑其他不同的盘,放在默认位置就不需要环境配置。

nvm的使用

1. 查看vnm版本

检测是否安装成功 nvm-v , 出现版本号则安装成功

在这里插入图片描述

2. 用vnm安装指定的node

以安装 v14.16.0 为例:
nvm install 14.16.0

但却发现无法找到npm:

bash: npm:command not found

进目录一看,居然是空的
在这里插入图片描述
确实没有npm

原因:
NVM将所有安装的Node.js的不同版本存放在这个目录下,当使用nvm use命令时,会将对应版本的Node.js目录中的内容拷贝到C:\Program Files\nodejs目录中,从而达到切换不同Node.js版本的目的。但是这个目录下的node_modules目录为什么是空的呢?

npm的仓库已经从https://github.com/npm/npm移到https://github.com/npm/cli了,但是NVM v1.1.7并没有做相应的调整,所以通过nvm install安装Node.js时对应的npm实际上并没有安装成功,不过NVM此时并没有报告任何错误,而是仍然显示已安装成功。

解决:

node官网下载相应版本node压缩包:https://nodejs.org/dist/v14.16.0

将压缩包中的内容直接解压志文件夹(C:\Users\Administrator\AppData\Roaming\nvm\v14.16.0)中
在这里插入图片描述
这样就行了

3. 用vnm切换node

nvm use 14.16.0

在这里插入图片描述
现在查看下node版本
在这里插入图片描述
已经成功切换至 v14.16.0

再看看npm的版本:
在这里插入图片描述

现在我赶紧去看看旧项目还能不能跑起来,

不出意外,完美启动 ~ O(∩_∩)O

下次只要切换不同的node版本即可

猜你喜欢

转载自blog.csdn.net/x550392236/article/details/129624741