I had been using rbenv and rvm to manage different ruby versions in my local environment (OSX) but encountered issues frequently with the configuration.
Currently, I’m using mise to install ruby versions without problems but I’m curious to learn about issues or limitations others might have and also interested in recommendations if you’re using something different that you would recommend.
I tend towards the unix philosophy a bit here. Small composable tools. So I’ve stuck with the *env variants (rbenv, pyenv, nodenv, goenv), and stitched their installation together with an ansible recipe. So I have one command to install them all on a new system. And then they have only the lightest interaction with my environment with their injection of a shims directory into my PATH. So very simple, so easy to understand.
I can’t speak to the OSX woes, because I’m in linux. Having my workstation running the same OS as my server makes for fewer surprises. And without even involving containers!
Long-time rvm user here, and I too made the switch to mise at some point last here. So far it’s working without any issues, I’m enjoying the env config and ability to manage more than Ruby with it
@yegorov@alan thanks for calling out rv! We’ve just shipped “frozen” bundle installation, and we’re finishing up support for CLI tools right now. When tool support ships, you’ll be able to use CLI tools written in Ruby without worrying about a dependency conflict, or the underlying Ruby version, or OpenSSL or libyaml suddenly breaking.
We’ve got support for Mise on the roadmap too, so we’ll be able to provide precompiled binary Rubies in just a second or two.
I’m using mise. I used asdf before that. It is so nice to have one tool with a unified cli to install all of the various dependencies across projects (node, ruby, postgres, redis, pnpm, etc.).