Je peux démarrer l'application manuellement depuis le shell rebar3 en faisant application:start(lager)
suivi de application:start(myapp)
. Je voudrais que cela se produise sans avoir à le taper, par exemple en exécutant un script shell qui dit à rebar3 d'exécuter ces commandes. Est-ce possible?Comment faire fonctionner une application Erlang au démarrage de rebar3
Répondre
En supposant que vous voulez exécuter l'application au cours du développement, vous pouvez le faire comme ceci:
soit vous spécifiez les applications à commandline comme ceci:
rebar3 shell --apps lager myapp
ou que vous spécifiez dans les barres d'armature. config
{shell, [{apps, [lager, myapp]}]}.
puis exécutez-le simplement avecrebar3 shell
. Par exemple j'ai une application nomméetron
et ai la ligne suivante dans mon rebar.config:{shell, [{apps, [kernel,stdlib,cowboy,lager,tron]}]}
. Maintenant, quand je coursrebar3 shell
mon application erlang est démarrée avec toutes les dépendances.
Pour plus d'informations sur shell rebar3 et comment vous pouvez l'utiliser, voir this blogpost impressionnant du créateur, ou la documentation officielle here. Mais comme vous le savez sans doute, la meilleure façon d'exécuter l'application pour le déploiement est de commencer par créer une version puis de la lancer en tant qu'exécutable (cela faisait un moment que j'avais construit une version mais à l'époque c'était plus difficile que cela semble, malheureusement! Bien qu'il semble que rebar3 l'ait peut-être rendu plus facile: rebar3 releases
Je voudrais ajouter, que vous pouvez également spécifier les applications à démarrer au démarrage dans le fichier myapp.app.src
...
{applications,
[kernel,
stdlib,
anotherapp
]},
...
Ceci ne fournit pas de réponse à la question. Une fois que vous avez suffisamment [réputation] (https://stackoverflow.com/help/whats-reputation) vous pourrez [commenter n'importe quel article] (https://stackoverflow.com/help/privileges/comment); Au lieu de cela, [fournissez des réponses qui ne nécessitent pas de précisions de la part du demandeur] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- je-fais-à la place). - [De l'examen] (/ review/low-quality-posts/16853514) – ppperry
merci pour la bonne réponse - il était étonnamment difficile d'obtenir un répondre à cette question apparemment simple. –