I recently upgraded to Ubuntu 9.10, wiping everything, formatting my partition and starting again. There was the usual sunday full of software installing hassles. But, i discovered one thing that made my life a ton easier, thanks to Marnen Laibow-Koser on http://ruby-forum.com
My situation (a common one) was that i had several apps deployed on servers, and i wanted my development environment to match that of the servers as closely as possible. This means having the same gems as the servers, and, crucially, having the same versions of those gems. Normally this would be a big pain in the ass, hunting around for places to get old out of date gems from. Not so, however – i ssh onto my server and run
gem server & #the & is just to make it run in the background
This starts a gem server running on port 8808.
Now, back in my local machine, i can type
sudo gem install insert-gem-name-here –remote –source http://mywebsite.com:8808
and, hey presto, i get the version that’s on the server, installed locally. Even better, you can pass it a list of all the gems you need at once, and go and drink a beer to celebrate the utter wonderfulness of rubygems. Repeat for every app you’re working on, pointing it at it’s relevant server. Huzzah!