启动erlang应用程序(relx)发布时出错
当我试图启动由启动erlang应用程序(relx)发布时出错,erlang,release,relx,Erlang,Release,Relx,当我试图启动由relx准备的erlang发行版时,它崩溃的原因如下: {"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 │ │ ├──
relx
准备的erlang发行版时,它崩溃的原因如下:
{"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 当OTP应用程序的
.app
文件缺少所需的依赖项时,通常会发生这种情况。relx使用.app
的内容来解析发布版中的依赖项
确保所有发布应用程序在.app
的应用程序
元组中至少包含内核
和stdlib
下面是一个示例.app
文件,它将内核
、stdlib
和elk
列为依赖项:
{application, prop, [
{description, "Prop Template Generator"},
{vsn, "0.0.1"},
{registered, []},
{applications, [kernel, stdlib, elk]},
{modules, [prop, prop_otp, prop_generator]},
{env, []}
]}.
我补充说
{extended_start_script, true}.
到relx.conf,应用程序现在可以工作了
谢谢你的回答!所有依赖项relx成功复制到lib/文件夹(如目录列表所示)。若我手动启动应用程序(并没有启动文件,但使用SETERL_LIBS),它就会启动。