gpt4 book ai didi

elixir - MIX 应用程序作为 OTP 应用程序的配置文件

转载 作者:行者123 更新时间:2023-12-02 02:22:14 26 4
gpt4 key购买 nike

我有一个 OTP 应用程序(实际上是 ChicagBoss)。我正在尝试将 Phoenix 应用程序合并到其中(作为休闲 OTP 应用程序)。

我认为大多数应用程序都会启动,但由于缺少配置文件而出现错误。如何从外部向 MIX 应用程序提供配置文件?特别是当我尝试从 rebar 运行它时。如何提供目录?

最佳答案

当使用 Erlang 项目时,你不应该使用混合配置,而应该使用 erlang 配置。在您的特定示例中 boss.config文件。在 boss.config你有一个元组列表:

[{app, Options}, {second_app, Options}].

在 Erlang shell 中,您可以使用以下命令检查给定应用程序的配置:

application:get_all_env(app).

在混合配置文件中,您有类似的内容:

config :my_app, MyApp.Repo,
adapter: Ecto.Adapters.Postgres

您可以通过以下方式检查配置:

Application.get_all_env(:my_app)

您需要做的就是将配置从 Elixir 翻译到 Erlang 并将它们放入 boss.config 中。例如,上面的 Ecto 适配器将变为:

[...other apps...,
{my_app, [{'Elixir.MyApp.Repo',
[
{adapter, 'Elixir.Ecto.Adapters.Postgres'}
]}]},
...other apps...
].

请记住foo: "bar"是关键字列表[{foo, <<"bar">>}] Elixir 中的模块名称 Foo Erlang 中的原子 'Elixir.Foo' .

第二个选择是使用 Elixir 保护伞项目,该项目同时吸引了 Chicago Boss 和 Phoenix。在这种情况下,您需要将 boss 配置转换为 Elixir。

关于elixir - MIX 应用程序作为 OTP 应用程序的配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36923641/

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