MongoMapper和bson_ext问题

时间:2010-05-24 21:55:25

标签: ruby-on-rails mongomapper

我不能让MongoMapper使用我的Rails应用程序。我收到此错误消息:

**注意:未加载C扩展名。这是最佳MongoDB Ruby驱动程序性能所必需的。   您可以按如下方式安装扩展:   gem install bson_ext

如果您在安装后继续收到此消息,请确保   bson_ext gem在你的加载路径中,bson_ext和mongo gems的版本相同。

我安装了DevKit并安装了gem:gem install bson_ext --no-rdoc --no-ri(结果:bson_ext-1.0.1已安装)

我在Windows 7上运行.Rails版本是2.3.7。我在安装时使用了RubyInstaller。有人能指出我正确的方向吗?

6 个答案:

答案 0 :(得分:11)

问题是:bson_ext gem版本和mongo gem版本需要匹配,mongo_mapper还没有为mongo-1.0.1做好准备,所以你应该使用的mongo和bson_ext gems的版本是1.0分别为每个人。

所以,请执行以下操作:

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

然后在config / environment.rb中执行Rails 2.x:

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 :(得分:1)

这通常是由于安装了一个不等于MongoMapper所需版本号的bson_ext版本引起的。检查哪个版本的bson MongoMapper需要,然后确保你拥有该版本而没有安装其他版本。

答案 2 :(得分:1)

我需要指定bson版本才能使其正常工作,如下所示:

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

(使用rails 3)

答案 3 :(得分:0)

我按照上面的说明操作,但仍然是“没有这样的文件加载'bson_ext'。我去了宝石并尝试将”ext“文件夹中的文件夹向上移动一级(到宝石的根部)并且看哪,它很有用.FWIW ......

答案 4 :(得分:0)

在您的environment.rb

中包含以下内容
config.gem 'bson_ext', :version => "1.0", :lib => "bson_ext/cbson"

答案 5 :(得分:0)

  1. 使用以下方式安装bson_ext

    gem install bson_ext
    
  2. 将gem添加到Gemfile

    gem 'bson_ext'
    
  3. 在项目根目录目录中运行bundle