ruby-on-railsmongomapper

MongoMapper and bson_ext problem


I can't get MongoMapper to work with my Rails app. I get this error message:

**Notice: C extension not loaded. This is required for optimum MongoDB Ruby driver performance. You can install the extension as follows: gem install bson_ext

If you continue to receive this message after installing, make sure that the bson_ext gem is in your load path and that the bson_ext and mongo gems are of the same version.

I have installed DevKit and installed the gem: gem install bson_ext --no-rdoc --no-ri (result: bson_ext-1.0.1 installed)

I'm running on Windows 7. The Rails version is 2.3.7. I used the RubyInstaller when installing. Can anyone point me in the right direction?


Solution

  • The problem is: the bson_ext gem version and the mongo gem version need to match, also, mongo_mapper isn't ready for mongo-1.0.1 yet, so the versions of the mongo and bson_ext gems you should be using are 1.0 for each, respectively.

    so, do the following:

    gem install mongo -v=1.0 --no-ri --no-rdoc && \
    gem install bson_ext -v=1.0 --no-ri --no-rdoc
    

    then for Rails 2.x in your config/environment.rb do:

    config.gem 'mongo', :version => '1.0'
    config.gem 'bson_ext', :version => '1.0'
    

    or for Rails 3, in your Gemfile:

    gem 'mongo', '1.0'
    gem 'bson_ext', '1.0'