Installing Ruby, RubyGems, and Rails on Snow Leopard

These are instructions for compiling and installing 64-bit Ruby, Rubygems, and Ruby on Rails on Mac OS X 10.6, Snow Leopard.

The benefits of manually building a copy of Ruby in /usr/local are detailed here and here.

Prerequisites

Before following these instructions, you will need:

  1. Mac OS X 10.6 Snow Leopard
  2. The latest Xcode Tools (from the Snow Leopard DVD or downloaded from Apple — the 10.5 version won’t work)
  3. Confidence running UNIX commands using the Terminal

If you want to learn more about UNIX and the command line, check out my PeepCode screencast on this topic.

Step 1: Set the PATH

Launch Terminal.app from the /Applications/Utilities folder.

The first thing we’ll do is set your shell’s PATH variable. The PATH variable determines where your system searches for command-line programs. You’ll need to set it so that it can find the new apps you’re about to install. Using the editor of your choice, create and edit a file in your home directory named .profile (note the “.” preceding the filename).

If you’re using TextMate like you should be and have installed the UNIX mate command, then you can create and start editing the file like this:

mate ~/.profile

To the end of this file, add the following line:

export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"

Close and save the file and run this command to load the new setting into your current shell:

source ~/.profile

To verify that you’ve updated your path, enter the following command:

echo $PATH

You should see /usr/local/bin at the beginning of the line returned by the system.

Step 2: Download

We’re going to create a folder to contain the files we’re about to download and compile. If you want, you can delete this folder when you’re done, but keeping it around makes it easier to re-install (or uninstall) these apps later.

Make the new folder:

mkdir ~/src
cd ~/src

Download Ruby and Rubygems:

curl -O ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz
curl -O http://files.rubyforge.vm.bytemark.co.uk/rubygems/rubygems-1.3.5.tgz

Step 3: Compile and Install

First, Ruby:

tar xzvf ruby-1.8.7-p174.tar.gz
cd ruby-1.8.7-p174
./configure --enable-shared --enable-pthread CFLAGS=-D_XOPEN_SOURCE=1
make
sudo make install
cd ..

To verify that Ruby is installed and in your path, just type:

which ruby

You should see:

/usr/local/bin/ruby

If you do, this means you now have a super-fast, 64-bit version of Ruby ready to go. If you saw something different, you haven’t set your path correctly. Go back and try again.

Compile and install RubyGems:

tar xzvf rubygems-1.3.5.tgz
cd rubygems-1.3.5
sudo /usr/local/bin/ruby setup.rb
cd ..

Install Rails:

sudo gem install rails

If you use MySQL, you can now install the MySQL gem. You’ll need to know the location of your MySQL installation, which is typically /usr/local/mysql. Install the gem like this:

sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql

Congratulations, you now have a custom-built Ruby, RubyGems, and Rails configuration.

More articles in the Archive →