bundler
bundler copied to clipboard
chokes on 'mongo' gem in 1.9 - due to silently rescuing LoadError ?
[ davidlee /tmp/wtf ] # cat Gemfile
disable_system_gems
gem 'mongo'
source 'http://gemcutter.org'
source 'http://gems.rubyforge.org'
source 'http://gems.github.com'
[ davidlee /tmp/wtf ] # cat init.rb
require './vendor/gems/environment'
Bundler.require_env
[ davidlee /tmp/wtf ] # ruby init.rb
/private/tmp/wtf/vendor/gems/gems/mongo-0.18/lib/mongo/types/objectid.rb:130:in `require': uninitialized constant Mongo::InvalidStringEncoding (NameError)
from /private/tmp/wtf/vendor/gems/gems/mongo-0.18/lib/mongo/types/objectid.rb:130:in `'
from /private/tmp/wtf/vendor/gems/gems/mongo-0.18/lib/mongo/types/objectid.rb:24:in `'
from /private/tmp/wtf/vendor/gems/gems/mongo-0.18/lib/mongo/types/objectid.rb:21:in `'
from /private/tmp/wtf/vendor/gems/gems/mongo-0.18/lib/mongo.rb:6:in `require'
from /private/tmp/wtf/vendor/gems/gems/mongo-0.18/lib/mongo.rb:6:in `'
from /private/tmp/wtf/vendor/gems/environment.rb:80:in `require'
from /private/tmp/wtf/vendor/gems/environment.rb:80:in `gem'
from /private/tmp/wtf/vendor/gems/../../Gemfile:3:in `require_env'
from /private/tmp/wtf/vendor/gems/environment.rb:102:in `instance_eval'
from /private/tmp/wtf/vendor/gems/environment.rb:102:in `require_env'
from init.rb:2:in `'
[ davidlee /tmp/wtf ] # irb
ruby-1.9.1-p243 > require 'mongo'
=> true
ruby-1.9.1-p243 > ^D%
in my actual project it also spews blood and vomit under 1.8 - i just can't quite distill it as succinctly - FWIW.
Actually, it seems not to be bundler's fault. After much pain, I discovered this is what's needed:
gem 'mongo', '= 0.18' # MUST BE THE **** SAME gem 'mongo_ext', '= 0.18' # AS THIS gem 'mongo_mapper', '= 0.6.6'
http://groups.google.com/group/mongomapper/browse_thread/thread/efb3b401abf15141