Use Vagrant to spin up Linux VMs locally so that you can have a dev environment that matches production.
I don't work in a Ruby shop anymore, but I'd look at Bundler if I was looking to manage multiple gemsets on the same installation. As I point out in the above thread, maintaining multiple gemsets on the same machine is an antipattern that points to technical debt.
Ruby 1.8 is over. EOL. You need to port everything forward or suffer the consequences.
False dichotomy. There is no technical debt. Both Ruby 1.9.3 and Ruby 2 are functional and used in production. It will take some time to totally move to 2, and when that happens, there will be applications on different release versions of 2. I don't want to wait for os packaging to use a new ruby release, and I don't want to be forced by the packaging to use a particular version(older or newer).
> I don't work in a Ruby shop anymore, but I'd look at Bundler
Um. I use Bundler along with rvm.
> maintaining multiple gemsets on the same machine is an antipattern that points to technical debt.
Having a restriction of not more than one app on one machine is as stupid as it gets.
How does rvm fix that?
Yeah, sure, you can have multiple versions of Ruby and the Nokogiri gem on the same box. libxml2, borrowed from the GNOME project, is the C library that is doing all of the heavy lifting underneath. If the version of libxml2 on your dev machine is different than the version in prod, it doesn't much matter if you've got the same version of Ruby and the same version of Nokogiri.
Use Vagrant. You will get a complete Linux VM for each different project that will match up perfectly with whatever the prod environment looks like.