ERR_OSSL_EVP_UNSUPPORTED 无服务器包

问题描述 投票:0回答:0

我正在获取无服务器包命令的error:0308010C:digital envelope routines::unsupported

参考了多个 SO 问题和其他文档。他们中的大多数建议如下:

  1. 将节点版本降级到任何低于 17 的 LTS
    降级节点版本会产生很多库兼容性问题。例如,我在 webpacking 期间从 node-fetch 库中得到的许多错误之一是 Can't resolve 'node:util' in <project-directory>\node_modules\node-fetch\src
  2. Set Node to use openssl legacy provider:
    由于较新版本的node使用较新openssl支持的加密算法,但项目中的库仍然(猜测)仅支持openssl 1.1支持的算法,这是主要的ERR_OSSL_EVP_UNSUPPORTED 问题背后的原因,我们需要通过将 NODE_OPTIONS 设置为 --openssl-legacy-provider 来将节点的默认加密算法覆盖为 openssl 1.1 支持的算法。该解决方案适用于 React 项目甚至像 ionic 这样的前端框架,其中节点选项可以在 package.json 的脚本中轻松覆盖,或者 ionic 的文档告诉我们如何设置它以便它可以在构建阶段获取它。但这不适用于像 serverless 这样的后端框架库。我不确定如何覆盖 serverless 的节点选项,因为将其设置为环境变量不起作用,我也找不到任何文档。
node.js openssl serverless-framework
© www.soinside.com 2019 - 2024. All rights reserved.