AstonJ

AstonJ

  • asdf
  • exenv
  • kerl
  • kiex
  • none
  • other
0 voters

asdf

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

Manage multiple runtime versions with a single CLI tool, extendable via plugins

asdf-vm is a CLI tool that can manage multiple language runtime versions on a per-project basis. It is like gvm , nvm , rbenv & pyenv (and more) all in one! Simply install your language’s plugin!

Why use asdf-vm?

  • single CLI for multiple languages
  • consistent commands to manage all your languages
  • single global config keeping defaults in one place
  • single .tool-versions config file per project
  • support for existing config files .node-version , .nvmrc , .ruby-version for easy migration
  • automatically switches runtime versions as you traverse your directories
  • simple plugin system to add support for your language of choice
  • completion scripts managed by the plugin, not you!

exenv

Groom your app’s Elixir environment with exenv

Based totally on the GREAT rbenv

rbenv’s documentation largely applies here as well

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.

NOTE: Some Erlang source builds are broken. See below

kerl

Easy building and installing of Erlang/OTP instances

Kerl aims to be shell agnostic and its only dependencies, excluding what’s required to actually build Erlang/OTP, are curl and git .

All is done so that, once a specific release has been built, creating a new installation is as fast as possible.

OTP Support Policy

As of 2017 November 8, we are supporting OTP builds back to R15. Older builds may or may not work. We will advance release support as new releases of OTP become available. For example, when OTP 21 is released, we will support Erlang builds R16 and newer.

Showing Posts 1 to 10

AstonJ

AstonJ OP

For anyone using ASDF - are you using it with other languages as well? How are you getting on?

@akitaonrails - are you still happy using it for Ruby as well?

blatyo

blatyo

Conduit Core Team

I use asdf for everything: elixir, erlang, javascript, yarn, ruby, java, kotlin, rust, terraform

17
Post #2
hauleth

hauleth

Nix is life, Nix is love

I have previously used ASDF and I was using it for a lot of stuff - Ruby, Terraform, Consul, Packer, Rust (partially), Node, etc.

AstonJ

AstonJ OP

Nice! Do you use it in production as well Allen?

What did you use previously and how do they compare?

What made you change to Nix Łukasz?

Can you use Nix fo Ruby as well? Is Nix as easy to use as ASDF?

akitaonrails

akitaonrails

Yes, I have been using it for years, not only for Ruby but for every other language I have installed.

joshtaylor

joshtaylor

I use asdf for everything, for prod I don’t have erlang or elixir installed :), it’s all bundled with my app thanks to releases!

AstonJ

AstonJ OP

I have a few Ruby apps hence wondered what ASDF is like in production :smiley:

I currently use Chruby for them which I really like. This is a really good blog post about Chruby and details some of its benefits.

blatyo

blatyo

Conduit Core Team

No. I use docker in production, so each app has it’s own image with it’s own version of whatever language it needs.

rvm for ruby, nvm for node, for java I’d usually just downloaded a specific version and then everything had to use that version. The other stuff I didn’t start using until after I was using asdf. The individual tools for each of the languages worked fine. It wasn’t until Elixir that I started using asdf, but it quickly replaced the others for me, since it meant I only needed to know one set of commands.

blatyo

blatyo

Conduit Core Team

It’s worth mentioning, in some cases, asdf is wrapping language specific version managers. Like the erlang plugin uses kerl and ruby uses ruby-build.

jed

jed

Currently using asdf since it’s simple straight-forward and gets the job done. If only this was around earlier as I would have preferred to use it over RVM/rbenv for Ruby.

Where Next? Top

Trending in Polls 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
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
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
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
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

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews