设置Erlang节点失败,返回“0”;Can';设置长节点名!请检查您的配置; $erl-名称lofa {error_logger,{2008,6,18},{21,43,13},“无法设置长节点名! \n请检查您的配置\n“,[]} # ... 下面有几行堆栈跟踪线。。。

设置Erlang节点失败,返回“0”;Can';设置长节点名!请检查您的配置; $erl-名称lofa {error_logger,{2008,6,18},{21,43,13},“无法设置长节点名! \n请检查您的配置\n“,[]} # ... 下面有几行堆栈跟踪线。。。,erlang,elixir,erlang-shell,Erlang,Elixir,Erlang Shell,: 这可能是因为hostname-f没有返回 值,即您的计算机不知道在 网络。您可以使用--sname,给出全名,如--namefoo@IP_ADDRESS或在机器之间有意义的东西(因此 可以找到对方) 另一种解决方案是(sudo hostname),或更新主机文件(例如,Linux中的/etc/hosts);DR使用erl-sname-lofa而不是erl-name-lofa 说明: --name需要一个完全限定的名称,即@ --sname接受一个短名称,即用户名,从主机名-f 所以, i

这可能是因为
hostname-f
没有返回 值,即您的计算机不知道在 网络。您可以使用
--sname
,给出全名,如
--namefoo@IP_ADDRESS
或在机器之间有意义的东西(因此 可以找到对方)


另一种解决方案是(
sudo hostname
),或更新主机文件(例如,Linux中的
/etc/hosts
);DR使用
erl-sname-lofa
而不是
erl-name-lofa

说明:

  • --name
    需要一个完全限定的名称,即
    @
  • --sname
    接受一个短名称,即用户名,从
    主机名-f
所以,

iex --sname joe
erl -sname joe
相当于以下内容

iex --name joe@$(hostname -f)
erl -name joe@$(hostname -f)
我从Elixir 1.7.4&Erlang/OTP 22.3.4.20到1.12.1&Erlang/OTP 24.0.2(此答案的最新版本)对上述内容进行了测试

参考资料