9

我无法让 MongoMapper 与我的 Rails 应用程序一起工作。我收到此错误消息:

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

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

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

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

4

6 回答 6

11

问题是:bson_ext gem 版本和 mongo gem 版本需要匹配,而且 mongo_mapper 还没有为 mongo-1.0.1 准备好,所以你应该使用的 mongo 和 bson_ext gem 的版本是 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'
于 2010-05-26T15:43:41.673 回答
1

这通常是由于安装的 bson_ext 版本不等于 MongoMapper 所需的版本号造成的。检查需要哪个版本的 bson MongoMapper,然后确保您拥有该版本并且没有安装其他版本。

于 2010-05-25T14:57:16.657 回答
1

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

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

(使用导轨 3)

于 2010-10-19T02:30:26.183 回答
0

我按照上面的说明进行操作,但仍然“没有加载'bson_ext'的此类文件。我去了gem并尝试将“ext”文件夹中的文件夹向上移动一级(到gem的根目录),瞧,它奏效了。FWIW ...

于 2010-06-08T01:21:49.830 回答
0

在您的 environment.rb 中包含以下内容

config.gem 'bson_ext', :version => "1.0", :lib => "bson_ext/cbson"
于 2010-09-03T05:05:42.060 回答
0
  1. 使用安装bson_ext

    gem install bson_ext
    
  2. 将宝石添加到您的Gemfile

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

于 2015-11-17T11:34:19.540 回答