About chruby
chruby is a set of very minimal shell scripts which change the current ruby. It replaces rbenv, rvm and has some advantages over both:
- It doesn't do anything with cd
- No shims (no more
rbenv rehash
) - Totally minimalist. It's 97 lines of shell script.
Switching from rbenv
Switching from rbenv was easy. I just did:
brew install chruby
brew install ruby-install
I could have kept using my current rubies, but I wanted a completely clean start so switched to ruby-install too.
Replaced rbenv specific config in my ~/.zshenv
with:
source /usr/local/share/chruby/chruby.sh
source /usr/local/share/chruby/auto.sh
The second line is important. It enables support for .ruby-version
file automatic switching.
Enabling gemsets
There was still one feature I was missing. Since I'm a consultant and have many different projects in my development environment I like to use gemsets to keep things nice and isolated. I could use chgems but I didn't like how I was forced to remember to switch in and out of the "gem chroot" every time I was changing in and out of projects.
So with some inspiration from the auto.sh
script I created: chruby_gemsets. It's a simple script which changes your GEM_HOME
, GEM_PATH
and PATH
variables if there is a .gemset
file present.