.jsError: error:0308010C:digital envelope routines::unsupported
时间: 2023-11-03 17:03:18 浏览: 201
引用内容提到了一个报错"Error: error:0308010C:digital envelope routines::unsupported",该报错出现是因为Node.js版本的问题。在Node.js V17版本中,最近发布的OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。为了解决这个报错,有几种解决方案可以尝试:
1. 降级Node.js版本:卸载Node.js 17版本,并重新安装Node.js 16版本。这种方法经过测试是有效的。
2. 设置参数:在执行运行项目命令之前,先运行以下命令:
- Linux & Mac OS:export NODE_OPTIONS=--openssl-legacy-provider
- Windows命令提示符:set NODE_OPTIONS=--openssl-legacy-provider
这样可以解决报错,但需要注意的是每次启动项目都需要运行该命令,可以考虑第三种方法进行配置。
3. 修改配置文件(推荐):根据你的系统类型选择上述命令,并找到项目的package.json文件,在启动项目的配置里添加对应的命令。例如:
- 脚手架:
```
"scripts": {
"serve": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
"build": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build"
}
```
- Vue-Element-Admin:
```
"scripts": {
"dev": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
// 其他命令...
}
```
通过这种方式,每次启动项目都会自动运行命令,解决报错问题。
阅读全文