Today I introduced asdf in our team, published here as a backup.
To manage various runtime versions, almost all languages has their own version managers, for example, here is a short list:
If you are using multiple runtimes for development, you may face the pitfalls to install and maintain different kinds of version managers. Although it is not cumbersome to use any of them, there is an overhead of context switching in your brain. So asdf comes along.
What is asdf?
From the website, asdf’s target is to “Manage multiple runtime versions with a single CLI tool”. It achieves the target through plugins, currently it has 445 plugins, including almost all runtimes. It actually still uses the managers mentioned above, but as a unified command line.
How to use asdf?
See https://asdf-vm.com/guide/getting-started.html#_3-install-asdf to install on your machine.
After that, it comes to the real cases, here we uses Ruby and NodeJS as an example:
After that, it comes to the real cases, here we uses Ruby and NodeJS as an example:
# List all plugins asdf plugin list all # Install plugins for runtimes asdf plugin add ruby asdf plugin add nodejs # List installed plugins asdf plugin list # List all verions asdf list all ruby asdf list all nodejs # Install a version asdf install ruby 2.7.5 asdf install nodejs 16.13.0 # View installed version asdf list ruby asdf list nodejs # Use runtimes in current project asdf local ruby 2.7.5 asdf local nodejs 16.13.0 # Use runtimes globally asdf global ruby 2.7.5 asdf global nodejs 16.13.0 # Use runtimes only in current shell asdf shell ruby 2.7.5 asdf shell nodejs 16.13.0 # Check runtimes that are currently using asdf current
It absolutely reduces the complexity of managing runtime versions with asdf, I recommend to have a try and you’ll love it.
- Yejun