2016-08-01 9 views
0

Ich versuche, rebar3 in mein Projekt zu integrieren, aber aus irgendeinem Grund kann ich nicht Abhängigkeiten beim Ausführen der App finden und auflösen.Ein Arbeitsbeispiel für ein Projekt mit Rebar3

Abhängigkeiten werden heruntergeladen und in den entsprechenden Ordnern im Projekt abgelegt und die App kompiliert ohne Fehler, aber Funktionen aus Abhängigkeiten sind nicht definiert, wenn ich sie aus der Projekt-App heraus oder von der Erlang REPL anrufe.

Ich denke, ich vermisse einen kleinen Punkt, aber kann nicht herausfinden, was genau.

Mein rebar.config ist so einfach wie diese:

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

Das Projekt Repo ist here.

Können Sie bitte einen Link zu einem einfachen Beispielprojekt freigeben, in dem Abhängigkeiten in der rebar.config vorhanden sind und im App-Code erfolgreich verwendet werden?

+0

Wie starten Sie die Erlang REPL? Ich kann 'jsx: encode (# {}) 'einfach gut aus' rebar3 shell 'ausführen, nachdem du dein Projekt geklont und kompiliert hast. – Dogbert

+0

Ich führe einfach "erl" innerhalb des Projekts, um das Replikat zu sehen. Wenn ich "rebar3 compile" starte, führe ich 'erl' innerhalb von' _build/default/lib/pokerspace/ebin' aus. –

Antwort

1

aber dann Funktionen von Abhängigkeiten sind nicht definiert, wenn ich sie aus dem Inneren des Projekts App oder von der Erlang REPL

Um rufen alle Abhängigkeiten in der REPL zu laden, müssen Sie die REPL starten mit rebar3 shell. rebar3 shell ruft erl mit den richtigen Argumenten auf, sodass die Pfade aller Abhängigkeiten des Projekts zu Erlangs Code Path hinzugefügt werden. Der Befehl akzeptiert auch viele Flags und Argumente. Sie können die vollständige Liste und Beschreibung anzeigen, indem Sie rebar3 help shell ausführen.

+0

Danke, Mann, es hat funktioniert, schätze die Antwort! –