Erlang 和 Elixir 上的包管理

Posted

技术标签:

【中文标题】Erlang 和 Elixir 上的包管理【英文标题】:Package management on Erlang and Elixir 【发布时间】:2015-11-29 19:19:16 【问题描述】:

我在ErlangElixir 上搜索了package management 并得到了一些指向rebar rebar3 mix hexrelx 等的指针。你能帮助澄清它们之间的关系吗?在哪里使用什么? package 是否只是 Erlang 的 applicationmodules 组成的同义词?

【问题讨论】:

【参考方案1】:

除了@byaruhaf 提到的所有内容之外,erlang.mk 还提供了简单的包索引功能,允许对 Erlang 依赖项进行基本管理。与十六进制相比,它非常原始,但它可能就是你所需要的。如果您的项目已经有了 Makefile,则 erlang.mk 可能是向项目添加基本包管理功能的最快方法。

https://github.com/ninenines/erlang.mk#packages

【讨论】:

【参考方案2】:

包是由一个或多个模块组成的 Erlang 或 Elixir 应用程序/库的同义词

Hex 目前是 Erlang 生态系统(ERLANG、LFE、JOXA 和 ELIXIR)的首选包管理器

rebar3 + hex.pm: 对于 Erlang 包管理,rebar3 使用 hex.pm,它是 Erlang 和 Elixir 包的包管理器。 more Documentation

mix + hex.pm: 对于 Elixir 包管理 mix 使用 hex.pm,它是 Erlang 和 Elixir 包的包管理器。 more Documentation

【讨论】:

要为@byaruhaf 的回答添加一些额外信息,rebar3 是一个新的和改进的rebarrelx 是一个发布管理工具,而不是包管理,所以你可以放心地忽略它在这种情况下。

以上是关于Erlang 和 Elixir 上的包管理的主要内容,如果未能解决你的问题,请参考以下文章

Docker 上的 Erlang/Elixir 和热代码交换

使用纯 erlang OTP 代替带有 React.js 和 phoenix 框架的 elixir 后端

如何在Elixir或Erlang中在运行时动态创建和加载模块?

Erlang之父学习Elixir语言的一周

Erlang/Elixir精选-第2期(20191209)

大神来了Elixir语言设计者José Valim:释放Erlang VM的能量