gpt4 book ai didi

erlang - 卡在 {"init terminating in do_boot",{undef,[{rmbrDb,start,[],[]},

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

我的项目在 .../deps 中有许多依赖项,在 .../apps 中有两个包含的 Erlang 应用程序。rebar.config:

{sub_dirs, ["apps/rmbrDb","apps/rmbrRest","rel"]}.
{lib_dirs, ["deps","apps"]}.

{deps, [
{webmachine, "1.10.*", {git, "git://github.com/basho/webmachine", "HEAD"}},
{riakc, ".*", {git, "git://github.com/basho/riak-erlang-client", "HEAD"}}
]}.

项目编译(./rebar get-depscompile)没有错误,并且包含的​​应用程序确实生成梁文件。

有问题的应用程序文件如下所示:

{application,rmbrDb,
[{description,"Database Api for Main"},
{vsn,"0.0.1"},
{modules,[rmbrDb,rmbrDb_app,rmbrDb_sup]},
{registered,[rmbrDb_sup]},
{applications,[kernel,stdlib]},
{mod,{rmbrDb_app,[]}},
{start_phases,[]}]}.

我尝试开始使用 shell 脚本:

exec erl -pa $PWD/ebin $PWD/deps/*/ebin $PWD/apps/*/ebin -boot start_sasl -s reloader -s rmbrDb -s rmbrRest

产生:

{"init terminating in do_boot",{undef,[{rmbrDb,start,[],[]},{init,start_it,1,[]},{init,start_em,1,[]}]}}
Crash dump was written to: erl_crash.dump
init terminating in do_boot ()

日志包含

=mod:rmbrDb
Current size: 7281
Current attributes: 836C0000000...
Current compilation info: 836C0000000...

=fun
Module: rmbrDb
Uniq: 118638513
Index: 0
Address: 0x000000001a52b6d0
Native_address: 0x0000000017c8d370
Refc: 1

这表明模块已加载。

rmbrDb_app 文件包含:

-module(rmbrDb_app).
-behaviour(application).
-export([start/2, stop/1]).
-spec start(normal | {takeover, node()} | {failover, node()},
any()) -> {ok, pid()} | {ok, pid(), State::any()} |
{error, Reason::any()}.
start(_StartType, _StartArgs) ->
case rmbrDb_sup:start_link() of
{ok, Pid} ->
{ok, Pid};
Error ->
Error
end.

这样启动函数就定义好了。

我在 OSX 10.9.4 上工作,使用 Erlang/OTP 17 [erts-6.1] [来源] [64 位] [smp:8:8]Erlang 已经编译并启动了一些项目,并且安装是最近的。

我不知道为什么 do_boot 无法启动 rmbrDb

请注意,其他应用程序也无法启动。以先到者为准,它会崩溃。

最佳答案

erl-s 选项不会启动给定的应用程序,但会调用函数。函数名称及其参数可以作为额外参数给出,但如果您只写 -s rmbrDb,函数名称将默认为 start 且参数列表为空列表,因此 erl 将尝试调用 rmbrDb:start(),并且 函数未定义 (undef )。请参阅the documentation page for erl了解更多信息。

您应该考虑为您的应用程序创建一个版本。 this answer中有一些指针.

关于erlang - 卡在 {"init terminating in do_boot",{undef,[{rmbrDb,start,[],[]},,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25748173/

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