前端脚手架(electron --openssl-legacy-provider is not allowed in NODE_OPTIONS)

前端脚手架(electron --openssl-legacy-provider is not allowed in NODE_OPTIONS)
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删除即可


确定后,重新打开命令行,即可正常运行了。

前端脚手架(electron --openssl-legacy-provider is not allowed in NODE_OPTIONS)




END

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