Ruby on Rails - rails 3.0 issues

It is June 27, 2011 -- I have just finished updating my rails host from fedora 14 to 15. This brought about a shotgun wedding of sorts with rails 3, and passenger. Now I have transitioned my two rails applications to rails 3 and have had a bit of time to decide how I feel about things.

I like passenger a lot. It is worlds better than mongrel ever was.

Rails 3 is the way of the future, for better or worse. I am still in the midst of the learning curve, but things look good.

My first breakage just happened. I try to run my rails applications, and I get a nice error screen from Passenger (insofar as any error screen is ever "nice"). The problem seems to be:

Could not find rake-0.9.0.beta.4 in any of the sources (Bundler::GemNotFound)
The basic problem is that a yum package update came along over the weekend, with entries in the yum log as follows:
Jun 16 13:33:42 Installed: rubygem-rake-0.9.0-0.3.beta.4.fc15.noarch
Jun 25 04:17:24 Updated: rubygem-rake-0.9.2-1.fc15.noarch
My application is looking for the old rake 0.0.0.beta.4, which was deleted when the new rake 0.9.2 came along.

There must be a way to avoid this sort of deployment brittleness. If this was an important site, I would have been getting nasty calls over the weekend (June 25 was Saturday). I am thinking that using yum to keep gems up to date is a big mistake, but I have yet to decide on the ultimate solution for someone like me who doesn't want to live and breathe rails, just use it now and then.

Anyway, the fix for now is that I first edit the gemfile (maybe this is not needed, but I do it anyway) and specify the rake version by adding a line like so:

gem 'rake', '0.9.2'
After this I do:
bundle update rake

This is actually much more than is needed, because I go to the second applications rails root and type:

bundle update
And everthing starts working!
Feedback? Questions? Drop me a line!

Ruby on Rails notes / tom@mmto.org