RVM vs Rbenv

Raq Robinson
2 min readSep 19, 2020

Both rbenv and RVM are Ruby version management tools aka package managers. A package manager is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs from an OS in a consistent manner. In the Ruby world, RVM is widely accepted as the norm because of it’s wide toolkit. However, a major pro of rbenv is that it’s lighter and more unobtrusive than RVM.

rbenv does…

  • Provide support for specifying application-specific Ruby versions.
  • Let you change the global Ruby version on a per-user basis.
  • Allow you to override the Ruby version with an environment variable.

In contrast with RVM, rbenv does not…

  • Need to be loaded into your shell. Instead, rbenv’s shim approach works by adding a directory to your $PATH.
  • Override shell commands like cd or require prompt hacks. That's dangerous and error-prone.
  • Have a configuration file. There’s nothing to configure except which version of Ruby you want to use.
  • Install Ruby. You can build and install Ruby yourself, or use ruby-build to automate the process.
  • Manage gemsets. Bundler is a better way to manage application dependencies. If you have projects that are not yet using Bundler you can install the rbenv-gemset plugin. Starting a project is as easy at typing bundle install`
  • Require changes to Ruby libraries for compatibility. The simplicity of rbenv means as long as it’s in your $PATH, nothing else needs to know about it.

Interested in using rbenv as your package manager!? Check out the handle guides listed below.

RESOURCES

--

--