2009-08-06 10 views
10

Niedawno zainstalowałem Erlang RFC4627 (JSON-RPC) z pakietem debian. Pobiegłem do serwera testowego przy użyciu:Dodaj ścieżkę do ścieżki wyszukiwania Erlanga?

sudo erl -pa ebin 

a następnie w wierszu:

test_jsonrpc:start_httpd(). 

zwróconego

ok 

testowałem z http: //: 5671/i dostaje komunikaty sukcesu .

Jednak gdy próbuję uruchomić rabbitmq-http2, jednak dostaję błędy, które readme mówi, są spowodowane tym, że kod rfc4627 nie znajduje się na ścieżce wyszukiwania erlang. Jak umieścić go na ścieżce. Widziałem coś na blogu Dave'a Thomasa, który zasugerował wprowadzenie ścieżki w pliku:

~/.erlang 

To nie wydaje się działać dla mnie (może to zrobiłem źle?).

+0

Gordon, doceniam twoją odpowiedź poniżej (głosowałem). Niestety wypróbowałem kilka metod, w tym plik .erlang i stosując ścieżkę do -pa w pliku make. Myślę, że moje pytanie jest trochę bardziej szczególne dla rfc4627 i rabbitmq-http2. – David

+0

Dodaj więcej informacji o ścieżkach do katalogów za pomocą wiązek i sposobu dodawania ścieżek do serwera kodu. Zwłaszcza gdzie masz belki do biblioteki rfc4627? – Christian

+0

Christian, faktycznie, wszystko działa, miałem zamiar odpowiedzieć na to, wyjaśniając niektóre z tego, co zrobiłem. Prawdopodobnie zrobię to później w tym tygodniu. – David

Odpowiedz

19

Sposób manipulowania ścieżką w aplikacji to code module.

flagami -PA który został użyty w uruchomieniem Erlang powłoka rzeczywiście odnoszą się do funkcji w tym module:

add_patha(Dir) -> true | {error, What} 

masz rację o pliku .erlang w swoim katalogu domowym - to jest uruchamiane przy starcie czas działania powłoki i możesz dodać przydatne ścieżki.

W przypadku aplikacji można uruchomić powłoki z pliku wsadowego, który wywołuje tak:

erl -pa ./ebin ../../lib/some/path/ebin 

Zachowanie flagi Erl opisaną here.

Aby uzyskać bardziej wyrafinowane zarządzanie ścieżkami, musisz zapoznać się z tym, jak wykonano OTP release management (ale podejrzewam, że jest to dla ciebie za mało).

+0

jak wspomniano powyżej, nie musiałem tego robić, ale to dobra odpowiedź! – David

+0

Jaki jest format pliku .erlang? Albo jeszcze lepiej, gdzie mogę znaleźć dokumentację na ten temat – Masse

+0

Wymaga to warunków erlang, które są oceniane tak, jakby były wprowadzone do powłoki. Zobacz tutaj Sekcja 1.7.1 http://www.erlang.org/documentation/doc-5.2/doc/getting_started/getting_started.html –

Powiązane problemy