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
时,它不会被加载。