Ruby 捆绑don';t与mongo_ext一起工作

Ruby 捆绑don';t与mongo_ext一起工作,ruby,mongodb,bundler,Ruby,Mongodb,Bundler,我对一个非常简单的文件有一个问题: source :rubygems gem 'mongo' gem 'mongo_ext' 我用“bundle install”安装了gems,但它没有加载mongo_ext irb(main):001:0> require 'rubygems' => false irb(main):002:0> require 'mongo' **Notice: C extension not loaded. This is required for o

我对一个非常简单的文件有一个问题:

source :rubygems
gem 'mongo'
gem 'mongo_ext'
我用“bundle install”安装了gems,但它没有加载mongo_ext

irb(main):001:0> require 'rubygems'
=> false
irb(main):002:0> require 'mongo'

**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.

=> true
但是,如果我使用系统irb I,它是负载:

$ irb
irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'mongo'
=> true
irb(main):003:0>

可能是因为mongo_ext包含C扩展。

您需要将bson和bson_ext添加到您的GEM文件中:

source :rubygems
gem 'mongo'
gem 'mongo_ext'
gem 'bson'
gem 'bson_ext'
一般来说,最好指定您正在使用的gems的版本。这样,即使gem进行了破坏性的更改(或添加了影响您的新bug),您也可以确保代码正常工作。指定在启动项目时发布的最新版本,但升级时要小心。例如:

source :rubygems
gem 'mongo', '1.5.1'
gem 'mongo_ext', '0.19.3'
gem 'bson', '1.5.1'
gem 'bson_ext', '1.5.1'

您是否按照建议尝试过
gem安装bson\u ext
?我已经安装好了。当我使用
irb
时,当我需要
mongo
时,它会被加载,但当我使用
mongo exec ruil
时,它不会被加载。