Danger: MacPorts Breaks Your Rails/Ruby Relationship

So I just spent a fun morning trying to work out why so many of our unit tests were breaking on my machine with the message:

undefined method `[]' for #<Enumerable:

I turns out that Ruby 1.8.7 doesn’t run Rails very well, and if you take the time to read the small print it’s clear you really need to just run 1.8.6.

Trouble is, the wonderful MacPorts is now installing 1.8.7.

I have been fumbling around for the past few days installing/building various versions of things like memcached to get our app to work on my OSX 10.4. It’s been a lonely furrow to plough – all the other devs in the office are hard-core emacs / ubuntu heads, and it seems like most Mac people have moved on to Leopard these days…

At some point I must have made the mistake of running

# DO NOT RUN THIS!
sudo port upgrade ruby

So be warned, people.