electron --openssl-legacy-provider is not allowed in NODE_OPTIONS
Electron运行报错:electron --openssl-legacy-provider is not allowed in NODE_OPTIONS
将项目克隆下来 install 后,运行报错
原因
新版本的 Node.js / Electron 不允许在 NODE_OPTIONS 里再用 --openssl-legacy-provider 了。
从 Node 20 开始:
--openssl-legacy-provider 被禁止放在 NODE_OPTIONS 里
这个参数原来是干嘛的?
这个参数通常是为了老项目:
- webpack 4
- 旧版 crypto / md4
- 老前端脚手架
在 Node 17+ 因为 OpenSSL 3 改动,不加它会报:
ERR_OSSL_EVP_UNSUPPORTED所以很多人当年加了:
--openssl-legacy-provider解决方案
删除 --openssl-legacy-provider 或降低 node 版本,我这里使用第一种
打开命令行(Win+R输入cmd回车),输入 echo %NODE_OPTIONS% 查看是否有 --openssl-legacy-provider
有则代表这就是问题根源
右键计算机 - 属性 - 高级系统设置 - 环境变量中将NODE_OPTIONS删除即可
确定后,重新打开命令行,即可正常运行了。

END
文章版权声明:除非注明,否则均为边学边练网络文章,版权归原作者所有