Stop fussing with
- rvm or rbenv (ruby),
- pyenv or virtualenv (python),
- nvm (node),
- phpenv (php),
- jenv or sdkman (java),
- rsvm (rust),
- gvm or goenv (go[lang]).
Check this out: it’s called asdf.
One tool can replace all of those. It can install other software like helm and k9s, too. It can capture what you install in a .tool-versions file to share with colleagues via git. It’s free and Open Source. And works across macOS and Linux.
YMMV with the set-up process but trust me it’s worth it: once it’s installed and configured in your shell, you’ll never look back.
Some example commands:
asdf plugin add golang
asdf install golang latest
asdf global golang latest # sets the default version for your user
asdf local gloang latest # sets the default version for your current dir & subdirs
When combined with chezmoi and a global .tools-versions file, you can bootstrap a new machine in minutes 🚀
Thanks for reading Developer Tools & Productivity! Subscribe for free to receive new posts and support my work.
Want more tips on developer tools and productivity? Follow me at x.com/@ryan0x44 or ryan0x44.substack.com