AstonJ

AstonJ

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

https://github.com/mururu/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

https://github.com/taylor/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

https://github.com/asdf-vm/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)

First 10 of 45 Posts Switch mode

sashaafm

sashaafm

Not exactly sure if this fits the description but it’s quite popular Exrm

rafadc

rafadc

I think @AstonJ means a software to let you have multiple elixir versions in your machine. :wink:

greyhwndz

greyhwndz

Guys I wanted to use a version manager for Elixir. I would like to request about each and everyones review on the above available version managers. At first glance I like the concept of asdf being able to manage also ruby and node however am not sure if it has any quirks. I would like to ask the advantage of one over the other hopefully as far as you experienced them.

AstonJ

AstonJ OP

I’ve added a heading for Blog Posts - please feel free to add any you find. I think they could be helpful too :slight_smile:

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.

greyhwndz

greyhwndz

Thanks @NobbZ for sharing your perspective about asdf :slight_smile:

bzhr

bzhr

Any newer info on version managers? What is the suggested way of installing version 1.4 on Ubuntu? I used apt-get which currently installs version 1.3, but it is incompatible with some packages/proejcts, so I would like to update to 1.4.

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 ;-).

bzhr

bzhr

Ok, thanks I will try out asdf.

brightball

brightball

I want to use asdf for everything and I’ve found that it’s fine for global installs of most languages, but I can’t get it to be more effective for Ruby than RVM. I don’t know what it is, but something about RVM works proper for me every time while I can’t get the same experience from rbenv or asdf.

Where Next? Top

Trending in Wikis Top

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New

We're in Beta

About us Mission Statement