k.m*_*opf 6 erlang command-line-interface elixir beam
假设我有一个带有子命令和参数(如application foo --bar baz
)的 CLI 应用程序。如何在不需要用户安装 Erlang 的情况下打包分发?
我知道有mix escript
Mix 任务,但它构建了一个需要安装 Erlang 的二进制文件,而且 Mix 参考指出 escripts 应该仅用于开发目的。
mix release
,但是,会产生我不想在 dist 中看到的冗余 shell 脚本。
那么,有没有办法让 Elixir CLI 应用程序独立分发?
PS 这实际上是我第一次使用 Elixir(以及整个 Erlang 生态系统)
Elixir 应用程序可以打包为Erlang 版本,另请参阅此处。这些可以包括 Erlang VM。Elixir 自 1.9 起支持构建版本,无需额外工具,使用包含的混合任务mix release
- 请检查文档以了解详细信息: https: //hexdocs.pm/mix/Mix.Tasks.Release.html
您可能会受益于快速浏览此博客文章以获得灵感和概念概述,并注意到对于简单的 CLI 应用程序来说它要简单得多:https ://www.cogini.com/blog/best-practices-for-deploying-elixir-应用/