Elixir 项目由于 Node OpenSSL 加密依赖而无法构建

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

我有一个运行 Alpine Linux 3.16 的 Elixir 项目,项目中的一些应用程序依赖于 Node。我通过 AWS CodeBuild 收到错误消息

error:0308010C:digital envelope routines::unsupported

到目前为止,我发现了很多关于这个问题的话题,包括这个:错误消息“error:0308010C:digital envelope routines::unsupported”

看来我需要设置节点选项才能使用此标志

--openssl-legacy-provider

到目前为止,我已经尝试了以下解决方案,但都没有成功

  1. ENV NODE_OPTIONS=--openssl-legacy-provider
    放入损坏的应用程序的 Dockerfile

  2. RUN export NODE_OPTIONS=--openssl-legacy-provider
    放入损坏的应用程序的 Dockerfile

  3. RUN npm audit fix --force 
    放入损坏的应用程序的 Dockerfile 中

  4. 更改应用程序中的 package.json 以使用

    "scripts": { "deploy": "webpack --mode production --openssl-legacy-provider", "watch": "webpack --mode development --watch" }

到目前为止,这些都没有用,我正在寻找任何解决方案来解决这个问题。

node.js openssl elixir
1个回答
0
投票

现在可以通过放置

让它工作

ENV NODE_OPTIONS=--openssl-legacy-provider

在 Dockerfile 的后期,还将 Alpine 升级到 3.17

有一个活动线程进一步详细说明了这个问题:https://github.com/erlang/docker-erlang-otp/issues/428

© www.soinside.com 2019 - 2024. All rights reserved.