Stop fussing with rbenv, virtualenv, nvm, etc.

Ryan D
1 min readMar 25, 2024

--

Screenshot of asdf website at asdf-vm.com

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

--

--

Ryan D

CEO & Founder @ Nadrama.com - Previously: @Flippa @Xero @Cloudflare.