前言
最近升级了 nextjs 版本,升级到了 v14 版本,然后运行报错ReferenceError: Request is not defined,查看解决方案就是升级 node 版本,因为当时的 node 版本为 v16.20.0,升级到 V18 之后发现就好了,但是当我启动其他项目时发现又报 error:0308010C:digital envelope routines::unsupported 异常,解决方案是降低 node 版本,啊这,我只能安装多个版本Node进行版本切换了呀,因此就有了下面这篇文章,希望可以帮你少走弯路。
使用 NVM 管理 Node 版本
- 下载node版本管理器 NVM
安装步骤除了留意一下路径的自定义修改,其他步骤一直点击下一步即可
由于我是先安装的Node,再安装的NVM,所以在安装NVM的过程中,遇到了弹出 ~control this version 的对话框,在这里我选择【是】,这里忘记截图了😂
- 列出安装的所有的 NodeJS 版本
使用如下命令可以列出安装的所有的 NodeJS 版本,我这里是先安装了 node v18,然后才安装的 NVM
nvm list
- 安装低版本的 node v16
使用 nvm install 可以安装指定版本的 node,例如我这里需要安装 16.20.0
nvm install 16.20.0
- 再次列出安装的所有的 NodeJS 版本
安装完成之后再次查看已安装 node 版本列表,我们可以看到已经有两个版本的 node 了
- 使用 nvm use <版本>切换要使用的 NodeJS 版本,例如:
nvm use 16.20.0
补充
这里补充下安装第一个版本的过程,我是先安装的 node v18,然后才安装的 NVM, 下载 node,我们可以在这里查看我们想要下载的版本
然后直接点击 releases 进入到下面这个页面就可以开始下载了
我们一般选择 msi 进行安装,因为这样安装非常方便。