Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why doesn't Erlang come with a decent package management system like gem? [closed]

Tags:

erlang

Ok, this sounds like a bit of a rant, but I was wondering if there was a technical reason that Erlang doesn't have a proper package management system by default.

like image 757
yazz.com Avatar asked Feb 02 '10 17:02

yazz.com


2 Answers

No major technical reason really. Just different needs as the classic way of setting up and installing erlang software is though applications. And some use releases added to that.

Often you see erlang software distributed completely self reliant. That is that it contains all the libraries and the virtual machine together in a package and not needing any sorts of external dependencies. You even see this in development versions of packages. The source tree of the Riak database for example has all dependent libraries in it.

This is not a bad idea like many coming from Ruby(like me) may think. This way each application is self reliant. As one of Erlang's main goals is to be the most reliable thing available it makes every sense in the world that each application can have it's own version of the library. Thus making sure one app does not make the other unstable.

like image 139
Jon Gretar Avatar answered Oct 14 '22 18:10

Jon Gretar


Try rebar; it's a build system for erlang that includes a dependency management system. It doesn't have a central repository like gem does with rubygems.org, so you have to specify git urls. But, it does save you the trouble of having to download nested deps; it takes care of that itself.

And it sticks with Erlang's philosophy by keeping the downloaded deps inside your project directory rather then in a central system location; this is similar to bundler's deploy mode.

like image 31
DSimon Avatar answered Oct 14 '22 17:10

DSimon