chruby
chruby is a command-line tool for selecting the Ruby version used in a shell.
What chruby is
chruby is a command-line tool for selecting the Ruby version used in a shell. When you choose a Ruby, it updates PATH and sets GEM_HOME and GEM_PATH for that version. It can match installed Ruby versions fuzzily and uses the system Ruby by default. Optional automatic switching checks the current directory and its parents for a .ruby-version file, but switching is not automatic unless that option is enabled. chruby supports bash 3 or later and zsh, and runs on Linux and macOS. Installation options documented by the project include a release tarball, Homebrew, Arch Linux AUR, Fedora Copr, and FreeBSD ports. Additional Ruby implementations can be installed with ruby-install or ruby-build for chruby to manage. The project is MIT-licensed and free, at no cost. It does not hook cd or install executable shims. The README describes the codebase as about 100 lines and says it has tests; it also provides instructions for verifying PGP-signed releases.
Good
- Updates PATH, GEM_HOME, and GEM_PATH for the selected Ruby.
- Fuzzy-matches installed Ruby versions.
- Optional switching uses .ruby-version files.
- Free and MIT-licensed.
- Supports bash 3 or later and zsh.
Watch out
- Does not hook cd.
- Does not install executable shims.
- Automatic switching is off by default.
Who it suits
chruby suits Ruby developers who want to select installed Ruby versions from bash or zsh. Its optional directory-based switching may help those who use .ruby-version files.
Verdict
chruby provides focused Ruby version selection through shell configuration. Consider its limits if you need automatic switching enabled by default or executable shims.
Plans and prices
From chruby's own pricing page, checked 9 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Free | Free | MIT licensed · requires bash >= 3 or zsh |
The facts
Each one read from chruby's own pages, with the date it was checked.
What it does
- Automatic switching
- Optional auto-switching checks the current and parent directories for a .ruby-version file.checked 9 Oct 2026
- Install options
- The project documents installation from a release tarball, Homebrew, Arch Linux AUR, Fedora Copr, and FreeBSD ports.checked 9 Oct 2026
- Integrations
- The project wiki links usage instructions for Capistrano, Chef, Cron, Emacs, Pow, Puppet, Sudo, Vim, and Fish.checked 9 Oct 2026
- License
- The repository identifies its license as MIT.checked 9 Oct 2026
- Limitations
- chruby does not hook cd, install executable shims, or automatically switch Ruby versions by default.checked 9 Oct 2026
- Path and gems
- It updates PATH and sets GEM_HOME and GEM_PATH for the selected Ruby.checked 9 Oct 2026
- Purpose
- chruby changes the current Ruby version in a shell.checked 9 Oct 2026
- Ruby installers
- The README describes using ruby-install or ruby-build to install additional Ruby implementations for chruby to manage.checked 9 Oct 2026
- Ruby support
- It supports fuzzy matching of installed Rubies and defaults to the system Ruby.checked 9 Oct 2026
- Security
- The README says all releases are PGP signed and gives instructions to verify a release signature.checked 9 Oct 2026
- Shell support
- It supports bash 3 or later and zsh.checked 9 Oct 2026
- Size and tests
- The README describes chruby as about 100 lines of code and says it has tests.checked 9 Oct 2026

