gpt4 book ai didi

docker - 模块 EEx 不可用

转载 作者:行者123 更新时间:2023-12-02 18:58:40 24 4
gpt4 key购买 nike

我正在创建一个应用程序,当我在本地运行它时,一切运行良好。但是,当我在 docker 容器中运行它时,在运行时出现错误:

** (UndefinedFunctionError) function EEx.eval_string/2 is undefined (module EEx is not available)


我需要指定 :eex里面 extra_applicatoins: ?如果是这样,有人可以指出我的文档吗?我以为 Eex 是和 Elixir 一起来的。
这是我的 mix.exs文件:
# mix.exs

def application do
[
mod: {MyApp.Application, []},
extra_applications: [:logger]
]
end

defp deps do
[
{:tzdata, "~> 1.0.3"},
{:bamboo, "~> 1.5"}
]
end
Dockerfile:
FROM elixir:1.10 as build

ENV MIX_ENV=prod
ENV LANG=C.UTF-8

RUN mix local.hex --force && mix local.rebar --force

ARG LOG_LEVEL=info

RUN mkdir /build

WORKDIR /build

COPY . .

RUN mix deps.get && \
mix release --path /release && \
rm -rf /build

WORKDIR /release

ENTRYPOINT ["/release/bin/my_app"]

最佳答案

构建版本时,只有 核心正在被打包(:elixir 应用程序在 OTP 方面。)
都不是:eex , 也不是 :mix , :iex ,并且包括其他一些额外的库。偶:ssl:crypto在本地开发环境中可用are not included into release by default .目标是明确包含任何可能不需要的内容,以避免臃肿的发布。
我不确定它是否在某处明确记录,但您可以查看引用 Phoenix.MixProject 还包括 :eex应用。
出于同样的原因,任何尝试调用 Mix.env/0 (或任何其他 Mix 函数)将以同样的方式在发布中失败。

关于docker - 模块 EEx 不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62985043/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com