The problem with the rails config.gem mechanism is that its very easy
to get into a catch-22 situation - can't run the task to install the
gems because your environment needs the gems loaded to run! This may
not be the problem in your case, but I know others have reported that
they prefer to use a gem dependency mechanism not baked into rails
(gem bundler?)
Personally, I prefer to just enumerate all the gems I use in my
rubber.yml because this has no dependency on loading up my projects
environment. Its also what I'm used to as I wrote it before
config.gem was on the scene :) Also, it gives you the ability to only
install certain gems on specific roles/host. Rubygems will then just
build native gems as needed, and correctly handles the case when you
need a 64 vs 32bit compile (e.g. using a large/x-large instance) - I'm
not sure if gems:build/vendors/gems handles this.
I guess I could make rubber more intelligent and have it parse
environment.rb to extract out the config.gem lines rather than relying
on the gems:install task to install them. I currently duplicate the
gems I have in both config.gems and rubber.yml so that they get
"required" correctly and so that RubyMine knows about them, but I
never actually use the gems:install task.
Matt