elixir或erlang程序可以编译成独立的二进制文件吗?

Mik*_*H-R 28 erlang compilation elixir

它看到elixir有一个名为的工具,elixirc而erlang有一个工具,erlc用于编译模块以供使用.它在此之后立即说您可以使用elixir命令行工具运行代码.

有没有办法用elixir或erlang编译二进制可执行文件?(一个我可以chmod +x binary_name然后从同一个目录运行./binary_name)

Jos*_*lim 14

Escripts在某种程度上支持,但您仍需要在您的计算机上安装Erlang.有关更多信息,请参阅此答案:Elixir或Hex便携式包装格式?

  • 谢谢,便携性正是我要问的原因.非常感激. (2认同)

小智 10

您可以使用工具,如螺纹钢生成一个版本还包含了专家审评组,这使得它能够在未安装二郎的机器上运行该版本.但是包含的erts对应于构建版本的操作系统,即windows二进制文件(如果构建在windows上).


Ste*_*nez 9

确保你结帐Distillery https://github.com/bitwalker/distillery它可以满足您的需求,而无需处理Rebar.

将此添加到mix.exs文件的依赖项中,然后运行mix release. mix release

他们的文件很棒.https://hexdocs.pm/distillery/home.html


Dor*_*ian 5

从 Elixir 1.9 开始,您可以使用Elixir 的内置版本。它是Distillery的轻量级替代品。

注意事项: 它不会像 Go 使用几乎可以在任何地方运行的单个二进制可执行文件那样远程创建任何内容。此外,您的目标还必须与 CPU 架构和操作系统相匹配。

要构建发布运行:

mix release
Run Code Online (Sandbox Code Playgroud)

在这里阅读更多内容: https ://hexdocs.pm/mix/Mix.Tasks.Release.html