Elixir 或 Erlang 程序可以编译成独立的二进制文件吗?
Can Elixir or Erlang programs be compiled to a standalone binary?
说Elixir有个工具叫elixirc
,Erlang有个工具叫erlc
到compile modules可以用。在此之后它立即表示您可以使用 elixir
命令行工具 运行 代码。
有没有办法用 Elixir 或 Erlang 编译二进制可执行文件? (我可以 chmod +x binary_name
然后 运行 来自与 ./binary_name
相同的目录)
Escripts 在某种程度上支持这一点,但您仍然需要在您的机器上安装 Erlang。有关详细信息,请参阅此答案:Elixir or Hex portable package format?
您可以使用 rebar 之类的工具来生成还包含 erts 的版本,这样就可以 运行 在未安装 erlang 的机器上发布上述版本。但是包含的 erts 对应于构建版本的操作系统,即 windows 二进制文件,如果构建在 windows.
确保结帐 Distillery。它可以满足您的需求,而无需处理钢筋。
将此添加到您的 mix.exs 文件的依赖项中,然后 运行 mix release
。
defp deps do
[{:distillery, "~> 0.9"}]
end
他们的文档很棒:
从 Elixir 1.9 开始,您可以使用 Elixir 的内置版本。它是 Distillery 的轻量级替代品。
注意事项:
它不会像 Go 使用单个二进制可执行文件那样远程创建任何东西,你几乎可以在任何地方 运行。此外,您的目标必须匹配 CPU 体系结构和 OS.
要构建一个版本 运行:
mix release
现在有一些工具可以让您创建一个独立的可执行二进制文件,不需要对目标机器有任何依赖。他们支持多个平台。
说Elixir有个工具叫elixirc
,Erlang有个工具叫erlc
到compile modules可以用。在此之后它立即表示您可以使用 elixir
命令行工具 运行 代码。
有没有办法用 Elixir 或 Erlang 编译二进制可执行文件? (我可以 chmod +x binary_name
然后 运行 来自与 ./binary_name
相同的目录)
Escripts 在某种程度上支持这一点,但您仍然需要在您的机器上安装 Erlang。有关详细信息,请参阅此答案:Elixir or Hex portable package format?
您可以使用 rebar 之类的工具来生成还包含 erts 的版本,这样就可以 运行 在未安装 erlang 的机器上发布上述版本。但是包含的 erts 对应于构建版本的操作系统,即 windows 二进制文件,如果构建在 windows.
确保结帐 Distillery。它可以满足您的需求,而无需处理钢筋。
将此添加到您的 mix.exs 文件的依赖项中,然后 运行 mix release
。
defp deps do
[{:distillery, "~> 0.9"}]
end
他们的文档很棒:
从 Elixir 1.9 开始,您可以使用 Elixir 的内置版本。它是 Distillery 的轻量级替代品。
注意事项: 它不会像 Go 使用单个二进制可执行文件那样远程创建任何东西,你几乎可以在任何地方 运行。此外,您的目标必须匹配 CPU 体系结构和 OS.
要构建一个版本 运行:
mix release
现在有一些工具可以让您创建一个独立的可执行二进制文件,不需要对目标机器有任何依赖。他们支持多个平台。