Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Package management on Erlang and Elixir

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?

like image 776
sof Avatar asked Sep 03 '15 19:09

sof


People also ask

What is Hex package manager?

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.

What is rebar elixir?

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.


2 Answers

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

like image 135
byaruhaf Avatar answered Oct 16 '22 12:10

byaruhaf


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

like image 3
Stratus3D Avatar answered Oct 16 '22 13:10

Stratus3D