Erlang releases with Rebar: What am I missing?

Thanks a lot of help here, I'm on my way to creating my first Erlang release. There is no real code yet, but I want to understand how this is done. I consulted and followed several web tutorials, as well as Martin et. but something seems to be missing.

When I try to start the release, I get:

lloyd@Reliance :~/Programming/Erlang/learn$ sh rel/learn/bin/learn start [: 129: Node ' learn@127.0.0.1 ' not responding to pings.: unexpected operator 

In the "learn" project directory, I have:

 apps rebar rebar.config rel 

In rebar.config, I have:

 {cover_enabled, true}. {sub_dirs, ["rel","apps/zzz", "apps/zzz_lib"]}. 

In ... learn / apps I have:

 zzz zzz_lib 

zzz and zzz_lib have everything they need in them, as far as I can tell. From meat I can clean, compile and create documents.

In ... / rel, I have:

 files learn reltool.config 

See the reltool.config file below.

I miss the magic sauce, but what?

Thank you very much,

Lrp

 {sys, [ {lib_dirs, []}, {rel, "learn", "1", [ kernel, stdlib, sasl ]}, {rel, "start_clean", "", [ kernel, stdlib ]}, {boot_rel, "learn"}, {profile, embedded}, {excl_sys_filters, ["^bin/.*", "^erts.*/bin/(dialyzer|typer)"]}, {app, sasl, [{incl_cond, include}]} ]}. {target_dir, "learn"}. {overlay, [ {mkdir, "log/sasl"}, {copy, "files/erl", "{{erts_vsn}}/bin/erl"}, {copy, "files/nodetool", "{{erts_vsn}}/bin/nodetool"}, {copy, "files/learn", "bin/learn"}, {copy, "files/app.config", "etc/app.config"}, {copy, "files/vm.args", "etc/vm.args"} ]}. 
+4
source share
1 answer

It appears that the retool.config file is missing some entries for the application you wrote.

The first part should look something like this.

 {sys, [ {lib_dirs, ["../apps"]}, <--- point to where your applications are {rel, "learn", "1", [ <your application here> <---- add your application(s) here kernel, stdlib, sasl ]}, {rel, "start_clean", "", [ kernel, stdlib ]}, {boot_rel, "learn"}, {profile, embedded}, {excl_sys_filters, ["^bin/.*", "^erts.*/bin/(dialyzer|typer)"]}, {app, <your application here>, [{incl_cond, include}]}, <-- and here {app, sasl, [{incl_cond, include}]} ]}. 

Here is an example application from Erlang and OTP to Action, which I packed using rebar. https://github.com/tmcgilchrist/simple_cache

The general layout I stick to

  simple_cache |-> apps | \-> simple_cache | |-> src | \-> ebin | |-> rebar.config |-> rel |-> files |-> reltool.config \-> simple_cache 

Also what to do

 sh rel/learn/bin/learn start 

using

 sh rel/learn/bin/learn console 

and enter

applications: which_applications ().

What should contain a list of things plus your application. eg,

 [{mysample_app,[],[]}, {sasl,"SASL CXC 138 11","2.1.10"}, {stdlib,"ERTS CXC 138 10","1.17.5"}, {kernel,"ERTS CXC 138 10","2.14.5"}] 
+5
source

All Articles