0

当我尝试启动由它准备的 erlang 版本时,relx它会崩溃,原因如下:

{"init terminating in do_boot",{badarg,[{erl_prim_loader,check_file_result,3,[]},{init,get_boot,1,[]},{init,get_boot,2,[]},{init,do_boot,3,[]}]}}

目录列表:

    ├── bin
    ├── lib
    │   ├── asn1-2.0.2
    │   │   ├── ebin
    │   │   ├── priv
    │   │   └── src
    │   ├── bear-0.8.1
    │   │   ├── ebin
    │   │   └── src
    │   ├── cache-1.0.0
    │   │   ├── ebin
    │   │   ├── priv
    │   │   └── src
    │   ├── cberl-1
    │   │   ├── c_src
    │   │   ├── ebin
    │   │   ├── include
    │   │   ├── priv
    │   │   └── src
    │   ├── compiler-4.9.2
    │   │   ├── ebin
    │   │   └── src
    │   ├── cowboy-0.8.6
    │   │   ├── ebin
    │   │   └── src
....................
    │   ├── crypto-3.0
    │   │   ├── ebin
    │   │   ├── priv
    │   │   │   └── lib
    │   │   └── src
    └── releases
        └── 0.5.2

所有图书馆都在它自己的地方。

我尝试使用该命令启动应用程序erl -env ERL_LIBS ../libs -erlconto并成功启动。

看来,启动文件中的问题,但我不知道如何解决这个问题。

请有任何提示或解决方法。

天呐!

4

2 回答 2

2

我添加了

{extended_start_script, true}.

到 relx.conf 应用程序现在可以工作了!

肿瘤坏死因子。

于 2014-10-13T10:52:33.177 回答
0

这通常发生在 OTP 应用程序的.app文件缺少所需的依赖项时。relx 使用 的内容.app来解决依赖关系以进入发布。

kernel确保您的所有发布应用程序至少stdlib包含applications..app

这是一个示例.app文件列表kernel,stdlibelk作为依赖项:

{application, prop, [
  {description, "Prop Template Generator"},
  {vsn, "0.0.1"},
  {registered, []},
  {applications, [kernel, stdlib, elk]},
  {modules, [prop, prop_otp, prop_generator]},
  {env, []}
]}.
于 2014-10-10T15:19:00.243 回答