

For example, what if you want to build a side project with Elixir/Phoenix or learn some Rust. The situation only gets worse with more languages introduced to the mix. Three tools to manage versions for three programming languages doesn’t sound too bad, but they all have slightly different command syntax for you to remember and use from time to time. Then Python is introduced for some machine learning related tasks, so here comes pyenv. To manage the different versions of Ruby, rbenv is a good tool and for Node.js, you have nvm. There are quite a number of repositories for different services and unsurprisingly not all of them use the same versions of Ruby or Node.js. Say you work as a developer for a company and their tech stack is backend Ruby on Rails and frontend React. Why asdfīefore we begin, let’s talk about why we might need it in the first place. Even though this guide is meant for macOS, most things covered here should apply to Linux systems too, potentially with some minor tweaks. Given that, I decided to write another more complete guide to asdf. Last year, I wrote a post titled Install Java with asdf and slightly surprising to me, it ended up becoming the most visited article on my personal blog.
