MongoMapper and bson_ext problem
Asked Answered
O

6

9

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?

Obara answered 24/5, 2010 at 21:55 Comment(0)
L
11

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'
Leake answered 26/5, 2010 at 15:43 Comment(2)
A suggested edit by jkndrkn is to add gem 'bson', '1.0'Quintillion
i use v 1.9.2 for mongo and bson and bson_ext ... works fine.Belize
P
1

This is generally caused by installing a version of bson_ext not equal to the version number required by MongoMapper. Check which version of bson MongoMapper is requiring, and then make sure that you have that version and no other installed.

Professor answered 25/5, 2010 at 14:57 Comment(0)
N
1

I needed specify the bson version to get this to work, like so:

gem 'mongo', "1.1"
gem 'bson', "1.1"
gem 'bson_ext', "1.1"

(Using rails 3)

Northerner answered 19/10, 2010 at 2:30 Comment(1)
Excellent. This is exactly what I needed for my rails 3 app.Butane
G
0

I followed the instructions above but still the "no such file to load 'bson_ext'. I went to the gem and tried moving the folders in the "ext" folder up one level (to the root of the gem) and lo and behold, it worked. FWIW...

Gallnut answered 8/6, 2010 at 1:21 Comment(0)
O
0

Include the following in your environment.rb

config.gem 'bson_ext', :version => "1.0", :lib => "bson_ext/cbson"
Orlon answered 3/9, 2010 at 5:5 Comment(0)
A
0
  1. Install bson_ext using:

    gem install bson_ext
    
  2. Add the gem to your Gemfile:

    gem 'bson_ext'
    
  3. Run bundle in your project root level directory.

Animalism answered 17/11, 2015 at 11:34 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.