如何为Elixir中的节点分配默认名称?

问题描述:

我正在使用Elixir中的一些分布式代码,但是,我必须保留传递--name来为我的节点分配一个名称。无论如何默认这样做?我想在.elixirrc文件中设置一些内容,以便每个服务器始终具有相同的节点名称。如何为Elixir中的节点分配默认名称?

简答题:没有。

长答案:您可以动态地为节点命名,因此如果您发现自己在执行许多设置任务(设置cookie,命名节点等),则可以使用脚本来帮助您启动它。你需要为这个药剂v0.10.1(目前主):

# boot.exs 
:net_kernel.start([:foobar, :shortnames]) 

然后启动它:

$ mix run boot.exs 

Docs for net_kernel can be found here

Node.start(:"foobar", :shortnames) 

,或者如果你想使用LONGNAME

Node.start(:"[email protected]") 

假设IP地址172.17.0.1。这必须是要在其上创建节点的计算机的IP地址。

您可以通过简单地运行Node.self