MongoMapper и проблема bson_ext - PullRequest
9 голосов
/ 25 мая 2010

Я не могу заставить MongoMapper работать с моим приложением Rails. Я получаю это сообщение об ошибке:

** Примечание: расширение C не загружено. Это необходимо для оптимальной производительности драйвера Ruby MongoDB. Вы можете установить расширение следующим образом: gem install bson_ext

Если вы продолжаете получать это сообщение после установки, убедитесь, что гем bson_ext находится в вашем пути загрузки, и что гемы bson_ext и mongo имеют одинаковую версию.

Я установил DevKit и установил гем: gem install bson_ext --no-rdoc --no-ri (результат: bson_ext-1.0.1 установлен)

Я работаю на Windows 7. Версия Rails - 2.3.7. Я использовал RubyInstaller при установке. Кто-нибудь может указать мне правильное направление?

Ответы [ 6 ]

11 голосов
/ 26 мая 2010

Проблема заключается в том, что версия гема bson_ext и версия драгоценного камня mongo должны совпадать, кроме того, mongo_mapper еще не готов для mongo-1.0.1, поэтому необходимо использовать версии драгоценных камней mongo и bson_ext, равные 1.0 для каждого соответственно.

Итак, сделайте следующее:

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

тогда для Rails 2.x в вашем config / environment.rb сделайте:

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

или для Rails 3, в вашем Gemfile:

gem 'mongo', '1.0'
gem 'bson_ext', '1.0'
1 голос
/ 19 октября 2010

Мне нужно было указать версию bson, чтобы заставить это работать, вот так:

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

(с использованием рельсов 3)

1 голос
/ 25 мая 2010

Обычно это вызвано установкой версии bson_ext, не равной номеру версии, требуемому MongoMapper. Проверьте, какая версия bson MongoMapper требуется, а затем убедитесь, что у вас установлена ​​эта версия, а другая не установлена.

0 голосов
/ 17 ноября 2015
  1. Установка bson_ext с использованием:

    gem install bson_ext
    
  2. Добавьте драгоценный камень к вашему Gemfile:

    gem 'bson_ext'
    
  3. Запустите bundle в корневом каталоге вашего проекта.

0 голосов
/ 03 сентября 2010

Включите в свою среду следующее. Rb

config.gem 'bson_ext', :version => "1.0", :lib => "bson_ext/cbson"
0 голосов
/ 08 июня 2010

Я следовал приведенным выше инструкциям, но все равно «нет такого файла для загрузки« bson_ext ». Я перешел к гему и попытался переместить папки в папке« ext »на один уровень (к корню гема) и вот и вот, это сработало. FWIW ...

...