Добавить путь к Erlang Путь поиска? - PullRequest
10 голосов
/ 06 августа 2009

Я недавно установил Erlang RFC4627 (JSON-RPC) с пакетом debian. Я запустил тестовый сервер, используя:

sudo erl -pa ebin

и затем по приглашению:

test_jsonrpc:start_httpd().

вернулся

ok

Я протестировал с http://:5671/ и получил сообщения об успехе.

Однако, когда я пытаюсь запустить rabbitmq-http2, я получаю ошибки, которые, как говорит readme, вызваны тем, что код rfc4627 отсутствует в пути поиска erlang. Как мне поставить это на путь. Я увидел кое-что в блоге Дэйва Томаса, в котором предлагалось указать путь в файле:

~/.erlang

Это, похоже, не сработало для меня (может, я сделал это неправильно?).

1 Ответ

19 голосов
/ 06 августа 2009

Модуль кода - это способ манипулирования путем в приложении.

Флаги -pa, которые вы использовали при запуске оболочки Erlang, на самом деле относятся к функции в этом модуле:

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

Вы правы насчет файла .erlang в вашем домашнем каталоге - он запускается во время запуска оболочки, и вы можете добавлять удобные пути.

Для приложения вы можете запустить оболочку с командным файлом, который вызывает что-то вроде этого:

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

Флаги поведения erl описаны здесь .

Для более изощренного управления путями вам необходимо ознакомиться с тем, как Управление выпуском OTP сделано (но я подозреваю, что вам еще далеко)

...