Webpack报错Error: error:0308010C:digital envelope routines::unsupported处理
问题
原因
node17+版本对发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响.
解决方案
1. 版本降级
安装node17以下版本,然后在启动
2. 设置参数
运行项目前执行项目命令
-
- 2.1 Linux & Mac
export NODE_OPTIONS=--openssl-legacy-provider
-
- 2.2 widows
set NODE_OPTIONS=--openssl-legacy-provider
3. 修改配置文件
项目的package.json文件,把方法2的命令添加到启动命令前,使用&&连接
如:
"scripts": {
"serve": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
"build": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build"
}