2014-10-10 33 views
0

当我尝试启动由relx准备二郎释放与伦理崩溃:错误时开始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启动应用程序并成功启动。

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

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

Tnx!

回答

0

我加

{extended_start_script, true}. 

到relx.conf应用程序现在的工作!

Tnx。

0

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

请确保您的所有发布应用程序至少包含和stdlib,.app中的applications元组。

下面是一个例子.app文件列表kernelstdlibelk作为依赖:

{application, prop, [ 
    {description, "Prop Template Generator"}, 
    {vsn, "0.0.1"}, 
    {registered, []}, 
    {applications, [kernel, stdlib, elk]}, 
    {modules, [prop, prop_otp, prop_generator]}, 
    {env, []} 
]}. 
+0

感谢您的回答!所有依赖relx成功复制到lib /文件夹(如目录列表中所示)。如果我手动启动应用程序(没有启动文件,但设置了ERL_LIBS),它就开始了。 – nikit 2014-10-13 08:37:03

相关问题