查找资料发现是: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之前的版本。
这里做一下记录,备忘。