它看到elixir有一个名为elixirc
的工具,而erlang有一个名为erlc
到compile modules的工具供使用。它紧接着说,然后您可以使用elixir
命令行工具运行代码。
有没有办法用elixir或erlang编译二进制可执行文件? (我可以chmod +x binary_name
,然后使用./binary_name
答案 0 :(得分:13)
Escripts在某种程度上支持,但您仍需要在您的计算机上安装Erlang。有关详细信息,请参阅此答案:Elixir or Hex portable package format?
答案 1 :(得分:9)
您可以使用rebar之类的工具生成一个也包含erts的版本,这样就可以在未安装erlang的机器上运行所述版本。但是所包含的erts对应于构建版本的操作系统,即windows二进制文件(如果构建在windows上)。
答案 2 :(得分:9)
请务必查看Distillery https://github.com/bitwalker/distillery它可以满足您的需求,而无需处理钢筋。
将此添加到mix.exs文件的依赖项中,然后运行mix release。
defp deps do
[{:distillery, "~> 0.9"}]
end
答案 3 :(得分:1)
您可以使用自Elixir 1.9起的 Elixir内置版本。它是Distillery的轻量级替代方案。
注意事项: 它不会像Go那样远程创建任何内容,因为它可以在几乎任何地方运行单个二进制可执行文件。另外,您的目标必须匹配CPU架构和操作系统。
要构建发布运行:
mix release