I searched for package management
on Erlang
and Elixir
and got some pointers to rebar
rebar3
mix
hex
and relx
etc. Can you help clarify the relationships among them? Where to use what? Is package
just synonym to Erlang's application
made up of modules
?
Hex is a package manager for the BEAM ecosystem, any language that compiles to run on the BEAM VM, such as Elixir and Erlang, can be used to build Hex packages. Hex consists of the HTTP API, this website, the repository serving packages and indexes, HexDocs, the Mix build-tool integration, and other services.
rebar is an Erlang build tool that makes it easy to compile and test Erlang applications, port drivers and releases. rebar is a self-contained Erlang script, so it's easy to distribute or even embed directly in a project.
A package is synonym to Erlang or Elixir application/ library made up of one or more modules
Hex is currently the preferred package manager for the Erlang ecosystem (ERLANG, LFE, JOXA & ELIXIR)
rebar3 + hex.pm: For Erlang package management rebar3 uses hex.pm, a package manager for Erlang and Elixir packages. more Documentation
mix + hex.pm: For Elixir package management mix uses hex.pm, a package manager for Erlang and Elixir packages. more Documentation
In addition to everything @byaruhaf mentioned, erlang.mk
provides simple package index functionality that allows for basic management of Erlang dependencies. It's very primitive compared with hex but it might be all you need. If your already have a Makefile for your project erlang.mk is probably the quickest way to add basic package management functionality to your project.
https://github.com/ninenines/erlang.mk#packages
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With