summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rebar_prv_shell.erl10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/rebar_prv_shell.erl b/src/rebar_prv_shell.erl
index 3c6369a..431b3e2 100644
--- a/src/rebar_prv_shell.erl
+++ b/src/rebar_prv_shell.erl
@@ -157,13 +157,19 @@ setup_name(State) ->
{undefined, undefined} ->
ok;
{Name, undefined} ->
- net_kernel:start([Name, longnames]);
+ check_epmd(net_kernel:start([Name, longnames]));
{undefined, SName} ->
- net_kernel:start([SName, shortnames]);
+ check_epmd(net_kernel:start([SName, shortnames]));
{_, _} ->
?ABORT("Cannot have both short and long node names defined", [])
end.
+check_epmd({error,{{shutdown, {_,net_kernel,{'EXIT',nodistribution}}},_}}) ->
+ ?ERROR("Erlang Distribution failed, falling back to nonode@nohost. "
+ "Verify that epmd is running and try again.",[]);
+check_epmd(_) ->
+ ok.
+
find_apps_to_boot(State) ->
%% Try the shell_apps option
case rebar_state:get(State, shell_apps, undefined) of