Uninstalling current tools
Start by getting rid of your current tools. I’m on OS X and I’ve installed rbenv, ruby-build and a few other rbenv extensions through homebrew. I start by uninstalling them using homebrew.
$ brew uninstall --force rbenv rbenv-gem-rehash rbenv-gemset ruby-build
$ rm -rf .rbenv
Then install ruby-install according to instructions. In my case using homebrew.
$ brew install ruby-install
Once that finished I just wanted the latest stable version of ruby for my system.
$ ruby-install ruby
This will install the latest stable ruby version into ~/.rubies. To install a specific version of ruby just add the version number.
Next up install chruby according to instructions. I installed it using homebrew.
$ brew install chruby
If you’re keeping your old ruby installations then refer to the migrating instructions. I wasn’t so all I have to do is add the following lines to my shell startup script, ~/.zshrc.
Note that the second line is optional and only needed if you use .ruby-version files, which I do. Then activate chruby.
$ source ~/.zshrc
I added a .ruby-version in my home directory to tell chruby to use the version I just installed
$ echo "ruby-2.3.0" > ~/.ruby-version
Then run ruby -v to confirm it worked.
$ ruby -v
ruby 2.3.0p0 (2015–12–25 revision 53290) [x86_64-darwin15]
For existing projects all that is needed is to install the ruby version required and use .ruby-version to tell chruby to use it. You’ll need to reinstall any gems as well. I did this for a rails project running ruby 2.2.3.
$ ruby-install ruby 2.2.3
$ echo "ruby-2.2.3" > .ruby-version # if you don't have one already
$ gem install bundler
$ bundle install
Now it’s possible to install ruby versions and change between them. That’s all I need. Both ruby-install and chruby are small and simple, they do one thing and they do it well, and the source code is short and easy to get your head around.