taylor / kiex

Elixir version manager
http://taylor.github.io/kiex/
MIT License
766 stars 65 forks source link

kiex - Elixir version manager

Kiex allows you to easily build and switch between different Elixir versions.

It supports setting the default (global) Elixir version as well as per shell/project versions.

Everything is self-contained under ~/.kiex.

Usage is based lightly on RVM, kerl, and rbenv.

NOTE: Some Erlang source builds are broken. See below.

Install

Prerequisites: bash, curl, erlang, git, make, openssl

Run the following to get up and running:

\curl -sSL https://raw.githubusercontent.com/taylor/kiex/master/install | bash -s

which will install in $HOME/.kiex.

Usage

List installed versions

List known releases

List current branches

Install a known release or branch.

Use specific elixir version

Create an alias for the specified elixir version

Use sub-shell with specific elixir version

Set default elixir version

Uninstall kiex and elixirs

Upgrade kiex

Sourcing elixir into your path

After installing your preferred version of elixir and setting it as your default you can use kiex scripts to put your default elixir bin into your path. One way to do this is to add the following line into your rc file:

[[ -s "$HOME/.kiex/scripts/kiex" ]] && source "$HOME/.kiex/scripts/kiex"

Design philosophy

Comparison Q&A

How is it like exenv (rbenv)?

How is it not like exenv?

How is it like Kerl?

How is it not like Kerl?

How is it like RVM?

How is it not like RVM?

Platforms/Shells tested

Operating Systems:

Shells:

Erlang installs:

Alternatives and References

Alternatives:

Related tools:

Limitations

Notes

Some erlang builds (including default kerl) are unusuable on current CentOS and Fedora distros as a result of an OpenSSL update. -- 2014/03/31

Various bugs reported:

A update to OTP crypto https://github.com/RoadRunnr/otp/commit/8837c1be2ba8a3c123df3f5a87003daa9aac6539

TODO

License

See LICENSE file