nvm装双node解决nodo18版本启动或打包项目报错

最近把node升级到18,写新项目还行,但是那些老项目用vue2写的老是报错,无法启动,打包不了,安装网上的说法,整理了一下,最终还是决定装双node来解决
一:报错内容

Error: error:0308010C:digital envelope routines::unsupported

这个报错原因是:node17发布的OpenSSl3.0对允许算法和密钥大小增加了限制

第一种解决方案:在server添加openssl-legacy-provider ,但这种弊端也很明显,运行没问题,打包有包这个错了

"serve": "set NODE_OPTIONS=\"--openssl-legacy-provider\" & vue-cli-service serve --open --port 8098"

在这里插入图片描述
第二种方案:在windows下设置这个,没什么用
set NODE_OPTIONS=–openssl-legacy-provider

第三种:降低node版本到16,可以一劳永逸,但是难道以后就不升级node了吗

第四种:就是今天要说的使用nvm装双Node版本来控制

二:nvm下载安装

下载地址
安装包下载地址: https://github.com/coreybutler/nvm-windows/releases
在这里插入图片描述
然后就是傻瓜式一键安装,安装完成后命令启动一下exe,然后输入nvm查看是否安装成功
在这里插入图片描述
关键的步骤
这个文件添加下面代码,防止下载失败,如果不让修改,直接删除,建个txt文件复制进来就行

node_mirror: https://npm.taobao.org/mirrors/node/

npm_mirror: https://npm.taobao.org/mirrors/npm/

在这里插入图片描述
重点来了:一定要用管理员启动命令行 别当牛马 不然怎么安装node都会失败的

在这里插入图片描述
安装node版本

nvm install 18.17.1

在这里插入图片描述

nvm list  //查看所有下载的node版本
nvm use 版本号  //切换node

最后,坑又来了,启动项目会报错
npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查

直接用用管理员启动vscode即可

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
nvm是一个用于管理Node.js版本的工具,可以通过它来切换不同的Node.js版本。当你遇到npm时,可以尝试以下步骤来解决问题: 1. 确保已经安nvm。你可以在终端中运行以下命令来检查是否已经安nvm: ```shell nvm --version ``` 如果没有安,可以按照nvm的官方文档进行安。 2. 使用nvm所需的Node.js版本。你可以使用以下命令来安特定版本Node.js: ```shell nvm install <version> ``` 其中,`<version>`是你想要安Node.js版本号,例如`nvm install 12.18.3`。 3. 切换到所需的Node.js版本。你可以使用以下命令来切换到已安Node.js版本: ```shell nvm use <version> ``` 其中,`<version>`是你想要切换到的Node.js版本号,例如`nvm use 12.18.3`。 4. 验证Node.js版本是否正确切换。你可以运行以下命令来检查当前使用的Node.js版本: ```shell node --version ``` 确保输出的版本号与你切换的版本号一致。 如果你在切换Node.js版本或使用特定版本的npm时遇到了,可以尝试以下解决方法: 1. 清除npm缓存。你可以运行以下命令来清除npm缓存: ```shell npm cache clean --force ``` 2. 更新npm。你可以使用以下命令来更新npm到最新版本: ```shell npm install -g npm ``` 3. 检查npm镜像设置。你可以使用以下命令来查看当前npm的镜像设置: ```shell npm config get registry ``` 如果输出的镜像地址不是`https://registry.npmjs.org/`,可以使用以下命令来设置为官方镜像: ```shell npm config set registry https://registry.npmjs.org/ ``` 希望以上步骤能够帮助你解决nvm切换Node.js版本和npm的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值