执行serverless package命令遭遇ERR_OSSL_EVP_UNSUPPORTED错误求解决
解决serverless package命令中的
error:0308010C:digital envelope routines::unsupported错误 执行serverless package命令时遇到error:0308010C:digital envelope routines::unsupported错误,尝试过以下两种常见解决方案,但均存在问题:
降级Node至17以下的LTS版本
降级后会触发大量库兼容性问题,例如webpack打包时,node-fetch库抛出错误:Can't resolve 'node:util' in <project-directory>\node_modules\node-fetch\src设置Node使用OpenSSL legacy provider
新版本Node默认使用新版OpenSSL支持的加密算法,但项目依赖库仅兼容OpenSSL 1.1的算法,这是ERR_OSSL_EVP_UNSUPPORTED类问题的主要原因。常规方案是通过设置NODE_OPTIONS=--openssl-legacy-provider覆盖Node默认加密逻辑,该方法在React、Ionic等前端框架中可通过package.json的scripts配置生效,但在serverless框架中无法生效,尝试设置环境变量无效,也未找到相关配置文档。
内容的提问来源于stack exchange,提问作者Gaurav Thantry
相关产品推荐
相关产品推荐

