RVM vs Rbenv
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.