Erlang 在混合项目中生成多个escript可执行文件
假设我有一个Elixir项目,我想用来为自己构建Elixir支持的命令行工具。我可以创建这样的工具 似乎每个混合项目只能创建一个escript可执行文件。即使我在Erlang 在混合项目中生成多个escript可执行文件,erlang,elixir,elixir-mix,Erlang,Elixir,Elixir Mix,假设我有一个Elixir项目,我想用来为自己构建Elixir支持的命令行工具。我可以创建这样的工具 似乎每个混合项目只能创建一个escript可执行文件。即使我在mix.exs中这样做: def project do [ elixir: "~> 1.4", deps: deps(), # (...) escript: escript(:foo), escript: escript(:bar), ] end
mix.exs
中这样做:
def project do
[
elixir: "~> 1.4",
deps: deps(),
# (...)
escript: escript(:foo),
escript: escript(:bar),
]
end
def escript(name) do
[
name: name,
main_module: Some.Module.Name,
]
end
仅考虑项目关键字列表中的第一个条目:
$ mix escript.build
Compiling 2 files (.ex)
Generated whatever app
Generated escript foo with MIX_ENV=dev
从一个混合项目中生成多个描述可执行文件的最佳方法是什么?我检查了,似乎不支持构建多个描述。我认为Elixir团队可能会开放添加此功能。您可以尝试发布功能请求以听取他们的意见。同时,您可以根据需要多次运行
mix-escript.build
。您可以使用伞式项目来实现类似的功能。@nietaki您能解决这个问题吗?我正在尝试做一些类似的事情,似乎一个伞式项目可能是一条出路。@acrogenesis我想我最终决定不使用escript。伞式项目听起来确实是一种很好的、干净的方式,如果有点冗长的话。我检查了一下,似乎没有任何支持构建多个描述。我认为Elixir团队可能会开放添加此功能。您可以尝试发布功能请求以听取他们的意见。同时,您可以根据需要多次运行mix-escript.build
。您可以使用伞式项目来实现类似的功能。@nietaki您能解决这个问题吗?我正在尝试做一些类似的事情,似乎一个伞式项目可能是一条出路。@acrogenesis我想我最终决定不使用escript。伞式项目听起来确实是一种很好的、干净的方式,如果有点冗长的话。