灵丹妙药代码有什么可移植的格式吗?除了明显的tar.
例如,如果我想提供一个或多个模块给客户端或其他团队的开发人员(不使用github)。我该怎么做呢?
在其他一些熟悉的语言中,答案是:Ruby - gem, Java - jar, Python - egg等。
这取决于你想提供什么。
下面我将讨论三个选项,它们都可以通过我们的构建工具Mix获得。
-
十六进制包源文件。如果您想为其他开发人员提供在其项目中使用的代码,Hex是最好的选择,因为它也知道如何获取和解析依赖项。调用
mix local.hex
来安装它,然后调用mix local
来查看所有可用的Hex任务; -
Escript允许你将整个项目(包括依赖项)捆绑成一个可执行文件,可以从命令行调用。您需要安装Erlang才能使脚本工作,但不需要安装Elixir。注意:script 不能被其他项目用作依赖项。
-
Archives基本上是Erlang运行时知道如何加载的编译的工件的tar。存档不包括依赖项,并且在Elixir中,它们仅作为Mix构建工具的插件使用。例如,上面的Hex是作为一个归档文件安装在Mix中。