rbenv
rbenv manages Ruby versions on Linux and macOS, letting projects use the version they require.
What rbenv is
rbenv manages Ruby versions on Linux and macOS, letting projects use the version they require. It can read a project's `.ruby-version` file and switch versions when you change project directories. You can also choose a Ruby version globally or for the current shell session. To direct Ruby executable commands to the selected version, rbenv creates shims. Plugins can hook into or override much of its default behavior.
Installing Ruby is handled by the separate ruby-build plugin, which downloads, compiles, and installs versions. Its definitions cover CRuby, JRuby, mruby, picoruby, and TruffleRuby. Because ruby-build only knows versions bundled with the project, a newly released Ruby may require updating the plugin first. Installation options include Homebrew on macOS or Linux, Git, and packages for several Linux distributions. rbenv is free and open source under the MIT license, and supports CI/CD use. The project describes its installer as intended for casual use on a user's own development machine.
Good
- Switches versions based on a project's `.ruby-version` file.
- Supports global, per-project, and shell-specific selection.
- Plugins can extend or override default behavior.
- Free and open source under the MIT license.
Watch out
- Ruby installation requires the separate ruby-build plugin.
- New Ruby versions may require upgrading ruby-build first.
- Platforms listed are Linux and macOS.
Who it suits
rbenv suits Ruby developers who want project-specific version switching on Linux or macOS, including those using CI/CD. Its plugin mechanism may also suit users who want to extend or change the default behavior.
Verdict
rbenv focuses on selecting Ruby versions rather than installing them itself. Check ruby-build's bundled definitions if you need a newly released version.
Plans and prices
From rbenv's own pricing page, checked 8 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Free | Free | Ruby version switching · plugin mechanism |
The facts
Each one read from rbenv's own pages, with the date it was checked.
What it does
- Command shims
- rbenv generates shims for Ruby executables to route commands to the selected Ruby version.checked 8 Oct 2026
- Installation options
- The project documents installation through Homebrew on macOS or Linux, Git, and packages for several Linux distributions.checked 8 Oct 2026
- Intended users
- The installer documentation describes rbenv-installer as intended for casual use on a user's own development machine.checked 8 Oct 2026
- Plugins
- rbenv supports plugins that can hook into or override almost any aspect of its default behavior.checked 8 Oct 2026
- Project selection
- rbenv reads a project's .ruby-version file and switches Ruby versions when you change project directories.checked 8 Oct 2026
- Purpose
- rbenv manages Ruby versions on Unix-like systems so projects can use the Ruby version they require.checked 8 Oct 2026
- Ruby implementations
- ruby-build includes definitions for CRuby, JRuby, mruby, picoruby, and TruffleRuby.checked 8 Oct 2026
- Ruby installation
- The rbenv install command is provided by the separate ruby-build plugin, which downloads, compiles, and installs Ruby versions.checked 8 Oct 2026
- Security and compliance
- The repository identifies the project license as MIT.checked 8 Oct 2026
- Shell and global selection
- rbenv can set Ruby versions globally, per project, or for the current shell session.checked 8 Oct 2026
- Support
- The project directs users to its GitHub issue tracker for bugs and ruby-build Discussions for build troubleshooting.checked 8 Oct 2026
- Version list limit
- ruby-build only knows versions bundled with the project, so installing a newly released Ruby version may require upgrading ruby-build first.checked 8 Oct 2026

