AstonJ

AstonJ

Elixir Version Managers

Edit: Please see this more recent thread:

Forum Poll / 2019


In Ruby we have RVM, Chruby Rbenv etc - what are the Elixir options? Maybe we can compile a list…

ExENV

exenv lets you easily switch between multiple versions of Elixir. It’s simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do one thing well.

exenv is a Elixir version of rbenv and used denv as a reference. Thanks to @sstephenson and @repeatedly.

KIEX

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.

ASDF

Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more


Blog Posts

Changing versions of Elixir and Erlang - 9elements.com

Managing Elixir versions with Kiex - johanwarlander.com

Introducing Asdf: The Extendable Version Manager - stratus3d.com

Integrating direnv with kiex - blog.differentpla.net (by @rlipscombe)

Most Liked

Qqwy

Qqwy

TypeCheck Core Team

I’d like to say that I have been using asdf to manage all of Erlang, Elixir, Ruby, Haskell, Idris, Rust, Postgres, PHP, Node.js and Crystal without any problems. The problems with installing from git master, tag or commit hash seem to be fixed, as far as I know. (I use the master version of Elixir and the nightly version of Rust, for instance).

The great advantage of asdf is that it handles all the tool-specific version management for you, and you do not have to remember all the different installation procedures for each of them.

I think @NobbZ’ advice thus is outdated now, but of course YMMV ;-).

Qqwy

Qqwy

TypeCheck Core Team

@demem123 asdf is easy to install, and also easy to remove or (temporarily) disable. The self-contained nature is the whole selling point of version managers :slight_smile: .

outlog

outlog

article should probably mention installing elixir compiled against the installed otp version eg. something like asdf install elixir 1.5.0-otp-20 - so all features are available - read more here https://github.com/asdf-vm/asdf-elixir#elixir-precompiled-versions

NobbZ

NobbZ

asdf has the big downsite, that it hides the installed system version completely and you can’t use it except by fully qualifying it (might create other problems because system and asdf executables are called in a mix) or kicking asdfs binary wrapper folder out of the $PATH. This makes it totally useless for me. Also it plugins for elixir and erlang don’t hold their promisses. I can’t install from git master, tag or sha, but only official releases while I have to test some of my work against master of both of them.

So I am using kiex (for elixir) and evm (erlang) currently. I don’t know if there is an easier way to do it, but for my personal testing it’s enough to be able to quick compile erlang from source and set $PATH in that shell so that erlang is used directly out of the sourcetree, while I do kiex install master and use that elixir version as necessary.

Especially the erlang workflow isnt optimal so far, but weren’t possible with asdf in general.

gonglexin

gonglexin

I use asdf everyday, it’s simple and great.

Where Next?

Popular in Wikis Top

yurko
Here are few pieces of (common) Linux knowledge that we use for reasonably small one server apps. We use Ubuntu but this should work for ...
New
axelson
Preamble This Wiki is intended to be a community-maintained (see the Contribution Guidelines if interested) resource of common “gotchas” ...
New
georgeguimaraes
Hi people, since the new year is coming, I’d like to plan my travels for events in 2017. So, what events (Elixir or FP related) that you...
New
Rich_Morin
I’d like to start a discussion of data serialization formats, in the context of Elixir. The rest of this note is a combination of persona...
New
anildigital
Here is list of plugins for different editors Sublime Text 3 — Elixir.tmbundle - https://github.com/elixir-editors/elixir-tmbundle/#co...
New
blackode
This is a wiki - anyone at Trust Level 1 or higher can help keep it updated. Elixir Pocket Syntax Uncommon Logical stuff of Elixir modul...
New
gmile
:httpc HTTP client is part of Erlang standard library, and as such can be easily used in Elixir code too. One particular advantage of usi...
New
shavit
To transcode the video there is FFMPEG. On Demand When a user uploads a video, the app renames and copy the file to a path, then call F...
New
TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
273 38985 115
New
blackode
Hi and Hello Every Elixirian. After Learning the Elixir basics, I struck then. I have no idea of how to put my Elixir Knowledge in pract...
New

Other popular topics Top

Qqwy
Update: How to use the Blogs & Podcasts section You can post links to your blog posts or podcasts either in one of the Official Blog...
3268 119930 1237
New
yurko
Here are few pieces of (common) Linux knowledge that we use for reasonably small one server apps. We use Ubuntu but this should work for ...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
srinivasu
How to handle excepions in elixir? Suppose i have A, B, C ,D, E modules. and each module has get() function. A.get() method will call th...
New
Tee
can someone please explain to me how Enum.reduce works with maps
New
malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
SoCreat
i’m a new one to elixir which editor can i use vs code? or atom? Thanks! :smiley:
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
josevalim
Hi everyone, One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New

We're in Beta

About us Mission Statement