缘故因由:运行Node.js应用程序时遇到了一个与加密算法干系的错误。详细来说,error:0308010C:digital envelope routines::unsupported 错误通常是因为Node.js尝试使用了一个不受支持的加密算法或选项,尤其是在使用某些依靠于OpenSSL的库时。紧张是因为 nodeJs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增长了更为严酷的限制,nodeJs v17 之前版本没影响,但 V17 和之后版本会出现这个错误。 我的node版本是v18+
四种办理方案:
方案一
直接在开发工具终端输入以下命令:
Linux & Mac OS:
- export NODE_OPTIONS=--openssl-legacy-provider
复制代码 Windows:
- export NODE_OPTIONS=--openssl-legacy-provider
复制代码 Windows也可手动操纵:此电脑->右键(属性)-> 高级体系设置->环境变量->体系变量->新建NODE_OPTIONS:–openssl-legacy-provider; 如果重新启动项目未见效,重新启动电脑试一下。
方案二
打开开发工具 终端,直接输入
$env:NODE_OPTIONS=“–openssl-legacy-provider”
方案三
卸载当前版本,安装合适的版本(node.js)
方案四(仅限 windows)
在项目中 package.json 的 scripts 中新增 SET NODE_OPTIONS=–openssl-legacy-provider。
修改前
- "start": "cross-env UMI_ENV=dev umi dev"
复制代码 修改后
- "start": "SET NODE_OPTIONS=--openssl-legacy-provider && cross-env UMI_ENV=dev umi dev"
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |