Installing ruby gems in your home directory

I found it hard to find good instructions for installing ruby gems as a non- root user without installing the gem package locally as well. Here’s what I figured out; hopefully this will save someone else some time in the future:

Make a directory for gem installation:

$> mkdir ~/.gems

Set up your .gemrc for gem install-time configuration:

$> cat << EOF > ~/.gemrc gemhome: $HOME/gems gempath: - $HOME/gems - /usr/lib/ruby/gems/1.8 EOF

Set up some environment variables for run-time:

$> cat << EOF >> ~/.bashrc export GEM_HOME=$HOME/gems export GEM_PATH=$HOME/gems:/usr/lib/ruby/gems/1.8/ export PATH=$PATH:$HOME/gems/bin EOF

Source your bashrc and you’re all set.

UPDATE (Apr 18, 2009): gem seems to do this on its own now, so just adding

export PATH=$PATH:$HOME/.gem/ruby/1.8/bin

to your .bash_profile should be enough.