chruby vs RVM
chruby
github.comRVM
rvm.ioSide by side
| Figure | chruby | RVM |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | — | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 0 |
| Spec score · Runtime Version Managers | 7.9 (#7) | 7.4 (#20) |
| Spec score · Development Environment Managers | 7.9 (#17) | 7.3 (#40) |
| Integrations | The project wiki links usage instructions for Capistrano, Chef, Cron, Emacs, Pow, Puppet, Sudo, Vim, and Fish. | RVM documents integrations including Bundler, Capistrano, Chef, Jenkins, Heroku, Passenger, TeamCity, Vagrant, Vim, and Zsh. |
| Purpose | chruby changes the current Ruby version in a shell. | RVM is a command-line tool for installing and managing multiple Ruby environments, from interpreters to gem sets. |
| Security | The README says all releases are PGP signed and gives instructions to verify a release signature. | RVM says it cryptographically signs releases and the installer script, and verifies signatures during updates. |
Plans
In their own words
chruby
chruby is a free, MIT-licensed shell utility for changing the Ruby version used in a session. Selecting a Ruby updates PATH and sets GEM_HOME and GEM_PATH for that installation. It can match installed Ruby names fuzzily and uses the system Ruby when no selection is made. Optional automatic switching checks the current and parent directories for a .ruby-version file. chruby supports bash 3 or later and zsh on Linux and macOS. Installation instructions cover a release tarball, Homebrew, Arch Linux AUR, Fedora Copr, and FreeBSD ports. Additional Ruby implementations can be installed with ruby-install or ruby-build. The project provides guidance for integrations including Capistrano, Chef, Cron, Emacs, Pow, Puppet, Sudo, Vim, and Fish. Releases are PGP signed, with verification instructions, and the codebase is described as about 100 lines with tests.
RVM
RVM is a command-line tool for installing and managing Ruby versions and gem sets. It can create a self-contained environment for each project, with a selected Ruby version and the gems that project needs. Named gemsets organize gems across Ruby versions, and a shared cache stores one on-disk copy of each downloaded gem. RVM can run test suites, rake tasks, benchmarks, and gem commands against multiple Ruby versions at the same time, supporting consistent setups across development, CI, QA, staging, and production. Its commands cover installing, selecting, upgrading, reinstalling, uninstalling, and removing Ruby versions. Documented integrations include Bundler, Capistrano, Chef, Jenkins, Heroku, and Passenger. RVM supports most UNIX-like systems and Windows through Cygwin or Bash on Ubuntu on Windows. Basic installation needs Bash, curl, gpg2, and GNU tools; git is needed for head Ruby versions. It documents single-user, multi-user, and mixed-mode installs, and recommends single-user mode for an isolated home-directory setup. RVM is free and maintained by community volunteers.