gpt4 book ai didi

Erlang 版本带有 rebar : some issues

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

1.当我尝试使用以下命令运行我的应用程序时:

# ./rebar clean compile generate
# rel/master/bin/master console

我收到以下错误:

application: app_name
exited:{shutdown,{app_name}, start, [normal, []]}}
type:permanent
{"kernel pid terminated", application_controler, "{application_start_failure,app_name
..........

所以我无法启动我的应用程序。

2. 此外,在构建发布后立即

# rel.... start
# rel.... stop

将导致错误:“Node master@127.0.0.1 未响应 ping”

同时

# rel.... stop <- the same error as above
# rel.... start
# rel.... stop <- is fine (outputs "ok")
<小时/>

应用程序结构:

deps ebin rebar rebar.config src rel

钢筋配置

{erl_first_files, []}.
{cover_enabled, true}.
{erl_opts, [debug_info]}.
{sub_dirs, ["rel"]}.
{deps_dir, ["deps]}.
{deps, [some_stable_modules_from_github]}.

reltool.config(来自 rel 文件夹)

{sys, [
{lib_dirs, ["../..", "../deps"]},
{rel, "master", "1",
[app_name,
kernel,
stdlib,
stdlib,
sasl,
some_stable_modules]},
{rel, "start_clean", "", [kernel, stdlib]},
{boot_rel, "master"},
{profile, embedded},
{excl_sys_filters, ["^bin/.*", "^erts.*/bin/{dialyzer|typer)"])},
{app, sasl, ["incl_cond", include]},
{app, hipe, ["incl_cond", exclude]},
{app, some_stable_module, ["incl_cond", include]},
{app, master, ["incl_cond", include]}
]}.

{target_dir, "master"}.

{overlay, [
{mkdir, "log/sasl"},
{copy, "files/erl", "\{\{erts_vsn\}\}/bin/erl"},
{copy, "files/nodetool", "\{\{erts_vsn\}\}/bin/nodetool"},
{copy, "files/master", "bin/master"},
{copy, "files/app.config", "etc/app.config"},
{copy, "files/vm.args", "etc/vm.args"}
]}.

两个问题:

  1. 为什么我可以使用 rel/master/bin/master console 启动我的应用程序?

  2. 为什么我收到“节点未响应 ping”错误?

谢谢!

PS。一般来说,它是使用 rebar 创建的基本应用程序。我刚刚添加了几个模块来使用 mongodb。

最佳答案

从您的 reltool.config 来看,该版本中似乎未包含 app_name 应用程序。请确保:

{app, app_name, ["incl_cond", include]},

在那里。如果这没有帮助,请尝试手动启动您的应用程序。例如:

erl -pa ebin deps/whatever/ebin ...
> application:start(app_name).

这应该会提示您该版本中存在哪些错误/缺失。

更新:如果您无法手动启动应用程序,请尝试调试它。假设您在应用程序模块中启动了一个根监督程序,如果您手动启动该监督程序会发生什么?您可以发布您的 .app/.app.src 文件吗?您的应用程序模块的启动功能?最终的 start_link 函数来自您的主管吗?

PS:您的 reltool.config 中有两个“stdlib”条目

关于Erlang 版本带有 rebar : some issues,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11487163/

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