Erlang 和 Elixir 上的包管理
Posted
技术标签:
【中文标题】Erlang 和 Elixir 上的包管理【英文标题】:Package management on Erlang and Elixir 【发布时间】:2015-11-29 19:19:16 【问题描述】:我在Erlang
和Elixir
上搜索了package management
并得到了一些指向rebar
rebar3
mix
hex
和relx
等的指针。你能帮助澄清它们之间的关系吗?在哪里使用什么? package
是否只是 Erlang 的 application
由 modules
组成的同义词?
【问题讨论】:
【参考方案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
是一个新的和改进的rebar
,relx
是一个发布管理工具,而不是包管理,所以你可以放心地忽略它在这种情况下。以上是关于Erlang 和 Elixir 上的包管理的主要内容,如果未能解决你的问题,请参考以下文章
Docker 上的 Erlang/Elixir 和热代码交换
使用纯 erlang OTP 代替带有 React.js 和 phoenix 框架的 elixir 后端