error:0308010C:digital envelope routines::unsupported
这个错误通常是由于Node.js在特定版本中引入了对OpenSSL 3.0的支持,而OpenSSL 3.0默认禁用了对传统(legacy) OpenSSL API的支持。这可能导致一些依赖这些API的Node.js模块出现问题。
这个问题常见于Node.js 17及以上版本,因为这些版本开始使用OpenSSL 3.0。以下是一些可能的解决方案:
- 切换Node.js版本: 如果你没有特别的理由需要使用最新的Node.js版本,你可以考虑切换到更稳定的版本,如Node.js 16或14,这些版本通常不会引入这个错误。
- 设置环境变量: 在启动应用程序之前,设置环境变量
NODE_OPTIONS
,可以强制Node.js使用传统的OpenSSL API。在Unix-like系统(如Linux或MacOS)中,你可以在idea命令行中运行以下命令:exportNODE_OPTIONS=--openssl-legacy-provider
然后再启动项目
或者直接将启动项改为类似于这样的
package.json 终修改
"dev": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve ",
版权归原作者 猿泰山 所有, 如有侵权,请联系我们删除。