In Pfad zum Erlang-Suchpfad?
Frage
Ich habe vor kurzem installiert Erlang RFC4627 (JSON-RPC) mit dem Debian-Paket. Ich lief den Test-Server mit:
sudo erl -pa ebin
und dann an der Eingabeaufforderung:
test_jsonrpc:start_httpd().
zurück
ok
ich mit http getestet: //: 5671 / und bekam die Erfolgsmeldungen
.Wenn ich versuche jedoch rabbitmq-http2 zu laufen, bekomme ich die Fehler, dass die readme sagt verursacht durch rfc4627 Code nicht auf dem erlang Suchpfad zu sein. Wie kann ich es auf dem Weg setzen. Ich sah etwas auf Dave Thomas Blog, die den Pfad in der Datei vorgeschlagen setzen:
~/.erlang
Dies schien nicht für mich zu arbeiten (vielleicht habe ich es falsch?).
Lösung
Die Code-Modul ist, wie Sie den Pfad innerhalb einer Anwendung bearbeiten.
Die Flaggen -pa, dass Sie in tatsächlich beginnen, die Erlang-Shell auf eine Funktion in diesem Modul beziehen verwendet:
add_patha(Dir) -> true | {error, What}
Sie haben Recht über die .erlang Datei in Ihrem Home-Verzeichnis - es wird beim Start-up-Zeit von der Shell ausgeführt und Sie können praktisch Pfade hinzufügen
.Für eine Anwendung können Sie die Schale mit einer Batch-Datei starten, die so etwas wie dies nennt:
erl -pa ./ebin ../../lib/some/path/ebin
Die Flaggen Verhalten von erl beschrieben hier .
Für anspruchsvollere Pfad-Management benötigen Sie vertraut machen mit, wie OTP Release-Management ist getan (aber ich vermute, dass Sie noch eine Weile weg ist).