[erlang-questions] ANN: erln8: an Erlang version manager

Dave Parfitt <>
Sat Dec 28 00:10:56 CET 2013


Hello Gleb -

  Thanks for the reply. I wrote up a quick "How it works" and placed it in
the readme [0].  erln8 takes care of starting the appropriate version of
Erlang for you via symlinks + checking argv[0] upon startup.

Regarding rebar, I've been building and working on Riak with erln8 + rebar
for a couple months now. If you really want to see which version of Erlang
is being run during a build, you can set banner=true in ~/.erln8.d/config.

Cheers -
Dave

[0] https://github.com/metadave/erln8#how-does-it-work-under-the-hoodbonnet
[1]
https://github.com/metadave/erln8#disabling-color-andor-the-erln8-startup-banner


On Fri, Dec 27, 2013 at 11:58 AM, Gleb Peregud <> wrote:

> Hey
>
> This looks cool!
>
> I have a quick question. How does it work under the hood? How does my
> shell know to start the "erl" binary from the appropriate version when I
> use erln8? Or is it my responsibility to start appropriate version? How
> does it work with rebar?
>
> Cheers,
> Gleb
>
>
> On Fri, Dec 27, 2013 at 4:43 PM, Dave Parfitt <> wrote:
>
>> Hello -
>>
>> I'd like to announce the first beta release of erln8 [0]. erln8 allows you
>> build Erlang from one or many git repos, and then "set and forget" a
>> version
>> of Erlang *per directory*. If a suitable version of Erlang isn't found in
>> the current directory, erln8 searches up the directory tree until it
>> finds one.
>>
>> Basic features:
>> - specify the version of Erlang to use for a directory and all it's
>>     subdirectories with a simple command such as:
>>
>>    erln8 --use R16B03
>>
>>    This creates a simple erln8.config file in the cwd specifying the
>> version
>>    of Erlang to use.
>>
>> - supports multiple git repos, build from any branch/tag
>>
>> - building from the canonical OTP git repo is as simple as:
>>     erln8 --build --tag OTP_R16B02 --id R16B02
>>
>> - shell completion for erln8 commands and command parameters
>>       (bash-only for now)
>>
>> - "link" to already built installations of Erlang so you can take
>>     advantage or erln8's --use command.
>>
>> - store build configurations in ~/.erln8.d/config so you don't have to
>> copy
>>    and paste them each time. Specify a configuration at build time with
>> --config my_config.
>>
>> - written in C w/ glib
>>
>> I'm sure there are some bugs to be worked out. Please feel free to submit
>> issues or pull requests via Github at [2].
>>
>> And yes, I've heard of kerl [1], and it works great, but I wanted to build
>> and manage Erlang sources from git and be able to "set and forget" a
>> version
>> of Erlang for a given directory. If you have any comments or suggestions,
>> please respond to me offline at [3], and flaming arrows can be sent to
>> [4].
>>
>> Happy New Year!
>> Dave
>>
>> [0] http://metadave.github.io/erln8/
>> [1] https://github.com/spawngrid/kerl
>> [2] https://github.com/metadave/erln8
>> [3] diparfitt at gmail
>> [4] /dev/null
>>
>>
>> _______________________________________________
>> erlang-questions mailing list
>> 
>> http://erlang.org/mailman/listinfo/erlang-questions
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20131227/5bf742b0/attachment.html>


More information about the erlang-questions mailing list