error:0308010C:digital envelope routines::unsupported
问题描述
Error: error:0308010C:digital envelope routines::unsupported报错原因
主要是因为 nodeJs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制,nodeJs v17 之前版本没影响,但 V17 和之后版本会出现这个错误。我的 node 版本是 v18+
解决方案
- 试卸载 Node.js 17+ 版本并重新安装 Node.js 16+ 版本,然后再重新启动(
个人觉得这只是缓兵之计,不推荐 ) - 在项目中
package.json
的 scripts 中新增SET NODE_OPTIONS=--openssl-legacy-provider
。这个办法本人也试了,但是不起作用
1 | "scripts": { |
- 在 MAC 本地配置
NODE_OPTIONS
vim ~/.bash_profile
:在 bash_profile 中添加export NODE_OPTIONS=--openssl-legacy-provider
source ~/.bash_profile
评论