以交互方式运行iex时,可以使用
iex --cookie <cookie> --name <hostname>
运行使用cookie
创建的可执行文件时,如何为name
和mix escript.build
设置相同的值?
我发现我需要创建一个包含以下内容的vm.args
文件
## Name of the node
-name name@host
## Cookie for distributed erlang
-setcookie cookie
所以我在与可执行文件相同的目录中创建了一个vm.args
文件。但是当我打印Node.self()
时,我得到:nonode@nohost
。
那么我在哪里存储vm.args
以便可执行文件读取它?
答案 0 :(得分:3)
据我所知,escripts无法读取vm.args
。你有(至少)2个选项:
在传递给emu_args
中escript
的{{1}}的{{1}}密钥中设置这些值:
project/0
解析CLI参数并设置mix.exs
函数中的值:
def project do
[app: :m,
...,
escript: [main_module: M, emu_args: ["-name foo@bar -setcookie baz"]]]
end
main