2016-08-01 1 views
0

Je suis en train d'intégrer rebar3 dans mon projet, mais pour une raison quelconque, je ne peux pas le faire et résoudre les dépendances lors de l'exécution de l'application.Un exemple de réalisation d'un projet en utilisant Rebar3

Les dépendances sont téléchargées et placées dans les dossiers respectifs dans le projet et l'application compile sans erreurs, mais les fonctions des dépendances sont indéfinies si je les appelle depuis l'application du projet ou depuis la REPL Erlang.

Je pense que je manque un petit point mais ne peut pas comprendre exactement ce.

Mon rebar.config est aussi simple que cela:

{erl_opts, [debug_info]}. 
{ 
    deps, [ 
    {jsx} 
] 
}. 
{cover_enabled, true}. 

Le repo projet est here.

Pouvez-vous s'il vous plaît partager un lien vers un projet simple exemple où les dépendances sont présentes dans le rebar.config et sont utilisés avec succès dans le code de l'application?

+0

Comment entamez-vous le Erlang REPL? Je peux exécuter 'jsx: encoder (# {})' juste à partir de 'rebar3 shell' après avoir cloné votre projet et compilé. – Dogbert

+0

Je viens d'exécuter 'erl' dans le projet pour voir le repl. Quand je lance 'rebar3 compile', je lance ensuite' erl' dans '_build/default/lib/pokerspace/ebin'. –

Répondre

1

mais alors les fonctions de dépendances ne sont pas définies si je les appelle à l'intérieur de l'application du projet ou de la Erlang REPL

Pour charger toutes les dépendances dans le REPL, vous devez démarrer le REPL en utilisant rebar3 shell. rebar3 shell invoque erl avec les bons arguments pour que les chemins de toutes les dépendances du projet sont ajoutés à Erlang de Code Path. La commande accepte également de nombreux drapeaux et arguments; vous pouvez voir la liste complète et la description en exécutant rebar3 help shell.

+0

Merci, mec, ça a marché, appréciez la réponse! –