Pour répondre à ma propre, puisque je ne pouvais pas trouver une solution correcte ailleurs sur le web pour ce scénario:
Le problème semble être une interaction de bundler
et de l'utilisation de mongrel
du gem_plugin
. Oui, ceux-ci peuvent être sur le support de la vie, mais malheureusement beaucoup de configs de production de personnes dépendent encore d'eux.
Semble que avec mongrel --pre
installé à partir de la source git
, il cherche dans bundle/ruby/1.9.1/gems/mongrel_
au lieu de bundle/ruby/1.9.1/bundler/gems/mongrel_
qui est l'endroit où bundler
est Stashing la gemme cloné à partir git
.
Donc, la solution qui a fonctionné pour notre config est de simplement les liens symboliques:
ln -s /mnt/app/shared/bundle/ruby/1.9.1/bundle/gems/mongrel* \
/mnt/app/shared/bundle/ruby/1.9.1/gems/mongrel-1.2.0.beta.1
Ceci est clairement quelque chose de simple que Bundler pourrait faire automatiquement. La trace complète de l'exception était:
/mnt/app/shared/bundle/ruby/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:166:in `require':
no such file to load -- /mnt/app/shared/bundle/ruby/1.9.1/gems/mongrel-1.2.0.beta.1/lib/mongrel/init.rb (MissingSourceFile)
from /mnt/app/shared/bundle/ruby/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:166:in `require'
from /mnt/app/shared/bundle/ruby/1.9.1/gems/gem_plugin-0.2.3/lib/gem_plugin.rb:134:in `block in load'
from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/source_index.rb:241:in `each'
from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/source_index.rb:241:in `each'
from /mnt/services/shared/bundle/ruby/1.9.1/gems/gem_plugin-0.2.3/lib/gem_plugin.rb:112:in `load'
from /mnt/app/shared/bundle/ruby/1.9.1/bundler/gems/mongrel-f3e69eb8e6fb/lib/mongrel/configurator.rb:231:in `load_plugins'