Sono nuovo nel mondo di Erlang e attualmente non riesco a capire come avviare la mia applicazione fittizia di erlang. Probabilmente mi manca qualcosa ... Così, ho creato un'applicazione con rebar (rebar create-app appid = dummys).Come eseguire l'applicazione erlang (rebar build)
Attualmente ho
- rebar.config
- src/dummys.app.src
- src/dummys_app.erl
- src/dummys_sup.erl
ho trovato che per eseguire un'applicazione durante uno sviluppo è meglio creare un metodo di avvio aggiuntivo che dovrebbe chiamare l'applicazione: start (modulo).
ho aggiunto un po 'di registrazione di base per i miei metodi di avvio ..
start() ->
error_logger:info_msg("Starting app(dev)..~n"),
application:start(dummys_app).
start(_StartType, _StartArgs) ->
error_logger:info_msg("Starting app..~n"),
dummys_sup:start_link().
Se provo
erl -noshell -pa ebin -s application start dummys
erl -noshell -pa ebin -s application start dummys_app
non ci sono uscita ..
Se provo
erl -noshell -pa ebin -s dummys start
erl si blocca con un erro r ..
se provo
erl -noshell -pa ebin -s dummys_app start
emette solo "app Avvio (dev) .." e questo è tutto. Ma mi aspetto anche di vedere "Avvio app .."
Cosa mi manca o sto facendo male ??
=============
E un'altra domanda: Come aggiungere un nuovo modulo per la mia applicazione manichino correttamente? Ad esempio, ho un modulo aggiuntivo chiamato "* dummys_cool *" che ha un metodo "start". Come dire alla mia applicazione di eseguire quel metodo "dummys_cool # start"?
Grazie!
Grazie per la spiegazione! Alla fine, ho capito come funziona tutto insieme. – cyrillk
Questo è un consiglio solido. Sembra che la semantica sia cambiata un po 'con rebar3. La documentazione è ottima (https://www.rebar3.org/docs/releases). Verifica in particolare {dev_mode, true}. –