Hacker News new | past | comments | ask | show | jobs | submit login
Hex.pm: Package manager for the Erlang ecosystem (hex.pm)
126 points by clessg on April 20, 2016 | hide | past | favorite | 24 comments



For anyone looking around for a new language to try: give Elixir serious consideration.

I've been learning Elixir over the last few months and it's been a breath of fresh air.

EDIT: In case it's not clear from the context, hex.pm is primarily the Elixir package manager, but it works for the whole Erlang ecosystem too, hence why it's referred to as a package manager for "the erlang ecosystem".


You'll find a large number of these packages are actually Elixir, as hex is the native Elixir package manager :)

Lovely to see this becoming more mainstream, and good marketing choice by Eric by making it the "Erlang ecosystem package manager".

If you're interested, the package manager[0] and website/API[1] are open source.

[0] https://github.com/hexpm/hex [1] https://github.com/hexpm/hex_web


Well done! Great looking website.

I primarily use Erlang and is good to see it finally has a standardized package manager and that both Elixir and Erlang can use hex packages.

Rebar even moved under the main Erlang organization in Github:

https://github.com/erlang/rebar3

A nice step forward


Elixir really seems to have given Erlang a much needed boost in some ways.


Yes, David! This might be a good time to breathe new life into Chicago Boss, huh ;)


Probably not:

* It's not well liked in the broader Erlang world because of compiler magic.

* Elixir has Phoenix, which is now the project in that space.

Also: I changed jobs and moved so... don't use Erlang at work any more, sadly.


Hex runs on Heroku. I wonder how many dynos it uses. Any ideas?


Not sure what the current stats are but a year ago the maintainer tweeted some stats about it [0].

    hex.pm on single 512mb Heroku dyno. 
    250rpm, 
    request time 23ms 95% percentile, 
    43mb memory used, ~0.15 dyno load.
I suspect there's a lot more use these days given the growth of Elixir, and I'd be curious to see newer stats.

[0] https://twitter.com/emjii/status/591240463782391808


It still runs on a single 7$ hobby dyno. Package and registry downloads goes directly to our CDN so the dyno only gets traffic for the HTTP API and website.


It'll be great to have categories for packages.. For instance: ORMs / AWS clients / Social SDKs / Authentication / Caching / Internationalization / Cryptography / Machine Learning / and so on..


Is this a new project? How come it has such high download numbers already?


Not a new project, but a new website.


Hex is (or, up to now, has been) Elixir's package manager.



Thank god - we're safe.

EDIT: serious point - does anyone know off-hand what hex.pm's unpublish policy is?


My understanding is: you can't unpublish an existing package, like in npm's leftpad situation. You do have a one hour window to change or revert a published version of a package, after that the published version is read-only.

Docs: https://hex.pm/docs/publish


What's with the ".pm"? Brings back bad memories of perl.


"package manager" I'd wager. Not "PERL module" :)


Obviously "package manager"?


Do you provide a lock file?


AFAIK maintaining a lock file is left to the tool that fetches and maintains dependencies.

For Elixir, mix maintains the mix.lock file. Hex integrates with mix.

For Erlang, rebar3 maintains a rebar.lock file. There's a rebar3_hex plugin for Hex integration with rebar3.


rebar3 supports Hex packages as dependencies out-of-the-box, IIRC. The plugin provides additional functionality like searching and publishing: https://github.com/hexpm/rebar3_hex


can this be installed using homebrew ?


It's automatically installed when you type: brew install elixir




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: