Today I was exposed to an erlang package management tool called agner. It wasn’t something I was expecting to appear, but appear it did as a dependency to a dependency. While the docs say that it is rebar compatible, including a plugin for rebar, there is a slight gotcha in release management if you are caught unaware. Basically, the dependencies pulled in via agner do not appear in the top-level deps as other rebar dependencies do. This causes problems in building the release since reltool can’t locate all of the deps.
Thankfully, the solution is rather straight-forward: add the dependency’s deps directory to the lib_dirs property.
While a general package management tool is useful (especially if it could make rebar and faxien play nicely together), it looks as though the integration could use some improvement.