我不能让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。有人能指出我正确的方向吗?
答案 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)
使用以下方式安装bson_ext
gem install bson_ext
将gem添加到Gemfile
:
gem 'bson_ext'
在项目根目录目录中运行bundle
。