vue项目中,npm run dev的时候出现:Error: error:0308010C:digital envelope routines::unsupported

查找资料发现是:node的版本问题。nodeJs V17版本发布了OpenSSL3.0对算法和秘钥大小增加了更为严格的限制,导致了nodeJs V17之前版本不受影响,而nodeJs V17和之后的版本会出现这个错误。

解决方案

1、更改系统环境变量来解决

2、更改项目环境变量来解决

3、更换NodeJs版本来解决
具体演示

1、更改系统环境变量

Windows平台:

我的电脑上右键 → 属性 → 高级系统设置 → 添加系统变量:NODE_OPTIONS = --openssl-legacy-provider

Linux / Mac 平台:

export NODE_OPTIONS=--openssl-legacy-provider

写入/etc/profile后,source /etc/profile 立即生效

2、更改项目环境变量来解决

在 package.json 的 scripts 中新增:SET NODE_OPTIONS=--openssl-legacy-provider

dev和build属性更改为:
"scripts": {
 "dev": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
 "build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
}

3、更换NodeJs版本来解决

卸载本地NodeJs环境,换成NodeJsV17之前的版本。

这里做一下记录,备忘。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值