Skip to content

Instantly share code, notes, and snippets.

@amateurhuman
Created March 9, 2012 09:03
Show Gist options
  • Star 19 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save amateurhuman/2005745 to your computer and use it in GitHub Desktop.
Save amateurhuman/2005745 to your computer and use it in GitHub Desktop.
Installing Rubinius 2.0.0-dev with rbenv

Installing rbx-2.0.0-dev with Ruby 1.9 support using rbenv can be a tad tricky. This is what I did to get up and running, you'll need another version of ruby already installed as well as rake.

The basic outline:

  1. Clone Rubinius HEAD from github
  2. Configure installation for rbenv and 1.9 support
  3. Install Rubinius
  4. Configure your $PATH to use Rubinius gems
  5. Start using Rubinius

[OPTIONAL] You may need to install libyaml, otherwise you get a psych warning

$ brew install libyaml

Get the latest HEAD for rbx-2.0.0-dev

$ git clone https://github.com/rubinius/rubinius.git

Configure Rubinius for compatibility with 1.9 and install it

$ cd rubinius
$ ./configure --prefix=~/.rbenv/versions/rbx-2.0.0-dev --enable-version=1.8,1.9 --default-version=1.9
$ rake install

Rubinius keeps its gem binaries in a different location than other rubies, so you'll need to add the proper bin directory to your path for any gem commands to work. I added the following to my ZSH setup

export RBX_ROOT=$HOME/.rbenv/versions/rbx-2.0.0-dev

And then in my PATH, I included

$RBX_ROOT/gems/1.9/bin

Now start using Rubinius

$ rbenv global rbx-2.0.0-dev
@camertron
Copy link

It's worth noting that rbx looks for gems in ~/.rbenv/versions/rbx-2.0.0-dev/1.9/bin while the rbenv which command looks in ~/.rbenv/versions/rbx-2.0.0-dev/bin. Fortunately there's a rbenv plugin that fixes this with minimal effort:

$ mkdir -p ~/.rbenv/plugins
$ cd ~/.rbenv/plugins
$ git clone https://github.com/collinschaafsma/rbenv-rbx_2.0.0-dev_fix.git

Most of this info comes from this issue on rbenv's github: rbenv/rbenv#178

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment