Compare Ruby Version Managers
The best Ruby version managers for Mac. Compare Mise, rv, asdf, chruby, rbenv, and rvm for managing Ruby versions on macOS. Find the right tool for your workflow.
Use a version manager to switch among multiple versions of Ruby. Developers often need to work on a legacy project that depends on an older Ruby version while starting fresh with the newest Ruby for new projects. A version manager lets you install multiple Ruby versions side by side and switch between them as needed.
Here's a comparison of available Ruby version managers. If you are using an older one, such as rbenv or rvm, take a look at the newer choices. The newer version managers are fast enough to change the way you think about version management.
If you are already using asdf, chruby, rbenv, or rvm, your setup still works fine and there is no urgent reason to switch. For new installations, I recommend Mise for multi-language workflows or rv for Ruby-only setups.
Managing Ruby versions is part of setting up a Mac for development. See the full roadmap to set up a Mac for software development.
Before you get started
You'll need a terminal application to install a version manager and use Ruby. Apple includes the Mac terminal but I prefer Warp Terminal. Warp is an easy-to-use terminal application, with AI assistance to help you learn and remember terminal commands. Download Warp Terminal now; it is FREE and worth a try.
Why use a version manager?
A version manager lets you install multiple Ruby versions and switch between them. You need this when you maintain applications that require different Ruby versions or when you want to test code against new Ruby releases before upgrading. Without a version manager, you are stuck with a single Ruby version.
Mise (recommended for multiple languages)
Mise is a modern, fast version manager (written in Rust) for multiple languages including Ruby, Node, Python, and Java. If you develop with more than one language, Mise is the best default today. Ruby on Rails developers who need both Ruby and Node will find it especially useful.
Mise reads .tool-versions files and can act as a drop-in replacement for asdf in many cases, which makes migration straightforward. Developers who care about speed and want one tool for all their runtimes are increasingly choosing Mise over asdf. See Install Mise on Mac and Install Ruby with Mise.
rv (recommended for Ruby only)
Rv is a new Ruby tool (also written in Rust) that installs precompiled Ruby runtimes in seconds and can isolate commands through rv run and rv tool install. Rv can isolate gems per project automatically, reading the Gemfile.lock file like Bundler.
If you only work with Ruby, rv is the simplest and fastest option for installing and switching Ruby versions. It is a new project and evolving quickly, so there's not much documentation but it is still usable. See Install rv on Mac.
rbenv (classic, widely used)
Rbenv is the most familiar version manager among Ruby users. It is simple and well understood, with years of community support and documentation. Rbenv uses "shim" files to intercept Ruby commands, which adds a layer of complexity and delay. For new installations, Mise or rv are faster alternatives, but rbenv remains a solid choice if you don't want to make a change.
chruby (minimal shell switcher)
Chruby is a lightweight Ruby version manager for developers who prefer very little magic. It works only with Ruby and requires a separate installer utility (ruby-install). Chruby does one thing well: it switches Ruby versions by modifying shell environment variables. If you value simplicity and transparency, chruby is a good fit. See Install Ruby with Chruby.
asdf (multi-language, but slower)
Asdf is a universal version manager that can manage Ruby, JavaScript, Python, Elixir, and several other languages through plugins. It has been popular for years, especially in mixed-language projects. Many developers are moving to Mise, not because asdf doesn't work but because it feels slower and more cumbersome. Mise uses the same plugin ecosystem and .tool-versions format, so switching is low-friction. See Install Ruby with Asdf for the full asdf Ruby tutorial.
rvm (powerful but complex)
RVM was once the most popular Ruby version manager and it still has loyal users. It includes features such as gemsets and broader workflow tools that go beyond simple version switching. However, RVM has more moving parts than most modern users need. Bundler handles gem isolation, making gemsets unnecessary for most workflows. RVM is not obsolete, but it is more complex than the alternatives.
frum (unmaintained)
Frum is no longer maintained (the last update was in 2021). I recommend rv as a modern, actively maintained replacement.
Which version manager should you use?
Use Mise if you work across multiple runtimes. Use rv if you want the fastest Ruby-first path. Keep rbenv, chruby, or asdf if your current setup already works and you do not need to change. If you are a casual user who does not need to switch among Ruby versions, you can skip version managers entirely and Install Ruby with Homebrew. The best version manager is fast and fits your workflow without getting in your way.
Continue setting up your Mac
Don't miss the full visual roadmap and checklist that shows how to set up a Mac for software development, with all the essential tools and settings you might not yet know about.