Вопрос

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

sudo erl -pa ebin

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

test_jsonrpc:start_httpd().

возвращенный

ok

Я протестировал с помощью http://:5671 / и получил сообщения об успешном завершении.

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

~/.erlang

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

Это было полезно?

Решение

В кодовый модуль это то, как вы манипулируете путем внутри приложения.

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top