Добавить путь к пути поиска Erlang?

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

sudo erl -pa ebin

и затем в подсказке:

test_jsonrpc:start_httpd().

вернулся

ok

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

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

~/.erlang

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

1 ответов


на модуль код как вы манипулируете пути в приложение.

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

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

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

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

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

поведение флагов erl описано здесь.

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