Убедитесь, что epmd запущен
У меня есть тест eunit, который генерирует уникальное имя узла и начинает распространение:
{A,B,C} = now(),
Nodename = list_to_atom(lists:flatten(io_lib:format(
"test-~b-~b-~b@localhost", [A, B, C]))),
{ok, _} = net_kernel:start([Nodename, shortnames]),
Это прекрасно работает, если в какой-то момент на машине работал распределенный узел Erlang, и, следовательно, epmd все еще работает, но на сервере сборки я могу:не могу предположить, чтов этом дело.
Я решил проблему, добавив это в мой тест:
_ = os:cmd("epmd -daemon"),
но это похоже на взлом. Есть ли лучший / лучший способ убедиться, что epmd запущен перед запуском?net_kernel:start