Freedom251 › Development Environment Managers
chruby

What chruby is
chruby switches the current Ruby version in a shell, updating PATH and setting GEM_HOME and GEM_PATH for the selected Ruby. It can fuzzy-match installed Ruby versions and defaults to the system Ruby. Optional automatic switching checks the current directory and its parent directories for a .ruby-version file. chruby supports bash 3 or later and zsh, and the project documents installation through a release tarball, Homebrew, Arch Linux AUR, Fedora Copr, and FreeBSD ports. The README describes using ruby-install or ruby-build to add Ruby implementations for chruby to manage. It also links instructions for use with tools and environments including Capistrano, Chef, Cron, Emacs, Pow, Puppet, Sudo, Vim, and Fish. The repository identifies the license as MIT, and the README says releases are PGP signed with instructions for verifying signatures. The README describes the codebase as about 100 lines and says it has tests. chruby does not hook cd or install executable shims, and automatic version switching is not enabled 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 suit users who keep a .ruby-version file in project directories.
What it does well
- Updates PATH, GEM_HOME, and GEM_PATH
- Supports fuzzy matching of installed Rubies
- Optional switching based on .ruby-version files
- Supports bash 3 or later and zsh
- MIT licensed
What to know first
- Does not hook cd
- Does not install executable shims
- Automatic switching is off by default
Limits
The free plan costs nothing and is MIT licensed. chruby does not provide executable shims or hook cd, and automatic switching is optional.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Free | MIT licensed · requires bash >= 3 or zsh | Free |
As github.com lists them, read 9 Oct 2026. The maker's own page has the final word.
Getting started
- Choose an installation route documented by the project, such as a release tarball, Homebrew, Arch Linux AUR, Fedora Copr, or FreeBSD ports.
- Install additional Ruby implementations with ruby-install or ruby-build if needed.
- Use chruby from bash 3 or later or zsh to select an installed Ruby.
- Enable optional automatic switching if you want chruby to check for .ruby-version files.
Verdict
chruby offers shell-based Ruby version selection with optional directory-based switching and several documented installation routes. Consider its lack of cd hooks and executable shims when choosing how you want version changes to work.
Questions
How much does chruby cost?
Its Free plan costs nothing, and the repository identifies the license as MIT.
Which platforms and shells does it support?
The listed platforms are Linux and macOS. It supports bash 3 or later and zsh.
Does chruby switch versions automatically?
Automatic switching is optional and checks the current and parent directories for a .ruby-version file.
How can I install chruby?
The project documents a release tarball, Homebrew, Arch Linux AUR, Fedora Copr, and FreeBSD ports.
Can chruby manage other Ruby implementations?
Yes. The README describes installing additional Ruby implementations with ruby-install or ruby-build for chruby to manage.
Does chruby integrate with other tools?
The project wiki links usage instructions for Capistrano, Chef, Cron, Emacs, Pow, Puppet, Sudo, Vim, and Fish.
Facts from chruby's own pages
- Automatic switching
- Optional auto-switching checks the current and parent directories for a .ruby-version file. · github.com, 9 Oct 2026
- Install options
- The project documents installation from a release tarball, Homebrew, Arch Linux AUR, Fedora Copr, and FreeBSD ports. · github.com, 9 Oct 2026
- Integrations
- The project wiki links usage instructions for Capistrano, Chef, Cron, Emacs, Pow, Puppet, Sudo, Vim, and Fish. · github.com, 9 Oct 2026
- License
- The repository identifies its license as MIT. · github.com, 9 Oct 2026
- Limitations
- chruby does not hook cd, install executable shims, or automatically switch Ruby versions by default. · github.com, 9 Oct 2026
- Path and gems
- It updates PATH and sets GEM_HOME and GEM_PATH for the selected Ruby. · github.com, 9 Oct 2026
- Purpose
- chruby changes the current Ruby version in a shell. · github.com, 9 Oct 2026
- Ruby installers
- The README describes using ruby-install or ruby-build to install additional Ruby implementations for chruby to manage. · github.com, 9 Oct 2026
- Ruby support
- It supports fuzzy matching of installed Rubies and defaults to the system Ruby. · github.com, 9 Oct 2026
- Security
- The README says all releases are PGP signed and gives instructions to verify a release signature. · github.com, 9 Oct 2026
- Shell support
- It supports bash 3 or later and zsh. · github.com, 9 Oct 2026
- Size and tests
- The README describes chruby as about 100 lines of code and says it has tests. · github.com, 9 Oct 2026
Where chruby stands on Freedom251
- Development Environment Managers#10 of 50
- Runtime Version Managers#7 of 30