Erlang:设置在主机更改中保持不变的节点名称

Erlang:设置在主机更改中保持不变的节点名称,erlang,Erlang,我有一台使用VPN的笔记本电脑,我的主机名经常改变。每次发生这种情况时,我都会得到不同的Erlang节点名。node()的文档似乎没有指定静态设置的方法 如何将我的机器的节点名永久配置为跨网络更改的持久性?如果您使用的是Rebar,您应该在某个地方有一个vm.args,您可以在此处设置-sname my\u permanent\u node\u name标志 请注意,使用flag-sname运行的节点与使用flag-name运行的节点之间不存在通信。如果您使用的是钢筋,您应该在某个地方有一个vm

我有一台使用VPN的笔记本电脑,我的主机名经常改变。每次发生这种情况时,我都会得到不同的Erlang节点名。node()的文档似乎没有指定静态设置的方法


如何将我的机器的节点名永久配置为跨网络更改的持久性?

如果您使用的是Rebar,您应该在某个地方有一个
vm.args
,您可以在此处设置
-sname my\u permanent\u node\u name
标志


请注意,使用flag-sname运行的节点与使用flag-name运行的节点之间不存在通信。

如果您使用的是钢筋,您应该在某个地方有一个
vm.args
,您可以在此处设置
-sname my\u permanent\u node\u name
标志


请注意,在使用flag-sname运行的节点和使用flag-name运行的节点之间不能存在通信。

仍将接受Asier的答案,因为它解决了该问题以正常运行

添加此选项是因为在运行
rebar3 ct
时,我遇到了以下问题:。也就是说,
rebar3 ct
不尊重
rebar.config
节点名称。我能够通过邮件中的答案解决这个问题:

set -x REBAR3_ERL_ARGS "-sname myapp@localhost"; rebar3 local install; env DEBUG=1 ~/.cache/rebar3/bin/rebar3 ct

结合这两个答案,我解决了这个问题。

仍然会接受Asier的答案,因为它解决了这个问题,可以正常运行

添加此选项是因为在运行
rebar3 ct
时,我遇到了以下问题:。也就是说,
rebar3 ct
不尊重
rebar.config
节点名称。我能够通过邮件中的答案解决这个问题:

set -x REBAR3_ERL_ARGS "-sname myapp@localhost"; rebar3 local install; env DEBUG=1 ~/.cache/rebar3/bin/rebar3 ct

因此,结合这两个答案,我解决了这个问题。

您是否可以使用
erl
命令的
-sname
标志?@asierazkuneaga否,因为它不会使用
erl
启动。有没有办法将其设置为环境变量?它是如何启动的?通过rebar/relx版本。有时在使用
rebar3 ct
的普通测试期间,
-sname
标记的
erl
命令对您有效?@AsierAzkuenaga否,因为它不会使用
erl
启动。是否有办法将其设置为环境变量?如何启动?通过钢筋/relx释放。有时在使用
rebar3 ct
OK的常规测试期间。当我使用
/\u build/…
执行发行版时,这似乎是可行的。但是,当我使用
rebar3-ct
启动应用程序时,它仍然会出现
noname@nohost
。有什么想法吗?好的。当我使用
/\u build/…
执行发行版时,这似乎是可行的。但是,当我使用
rebar3-ct
启动应用程序时,它仍然会出现
noname@nohost
。有什么想法吗?