Проект rebar3 создает неправильную команду на других хостах - PullRequest
0 голосов
/ 17 октября 2018

У меня есть проект rebar3.В этом проекте супервизор должен создать группу узлов Erlang на нескольких машинах.Я обнаружил, что узлы никогда не запускались из-за ошибки в журнале:

sh: no such file or directory h/mberns01/..../prod

, где отсутствует только начальная косая черта пути, а остальная часть командыправильно.

Где в этом проекте генерируется эта команда и почему в ней может отсутствовать косая черта?Я даже не уверен, какую другую информацию я могу предоставить здесь, чтобы быть полезной - дайте мне знать.

Приветствия.

РЕДАКТИРОВАТЬ: Таким образом, похоже, init:get_argument(progname) возвращает неправильную программу (без ведущих /).Не уверен, почему ...

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Похоже, что проблему можно обойти, используя slave:start/5, что позволяет пользователю указать, что Prog он хочет запустить на удаленном хосте:

spawn(slave, start, [Host, 'node', [], self(), "erl"])

Но это не такответьте на вопрос, почему отсутствует /.

0 голосов
/ 17 октября 2018

init:get_argument(progname) должен возвращать {ok,[["name"]]}, а не каталог, поэтому нет ведущего /

Кроме того, из любопытства, как вы порождаете новые узлы?Вы используете раба, пул или что-то еще?Если раб, какие аргументы вы передаете это?

...