我有一个新的Ruby on Rails安装,在那里我可以看到默认的起始页。
我遵循这个指南来安装MongoDB到Rails。
现在我得到这个错误时运行rake test
:
**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.
我已经安装了bson_ext gem,这意味着现在bson_ext不在我的加载路径中,或者gems不是同一个版本。
加载路径在哪里?我怎样才能改变呢?我如何检查宝石是否相同的版本?
如果你使用的是Ruby on Rails 3+,你应该检查你的Gemfile中是否引用了bson_ext gem
打开Gemfile(在rails应用程序的根目录中),并添加一行:bson_ext
你应该有:
gem mongo
gem bson_ext
这里还有一些来自10gen文档的关于在rails中运行测试的更多信息:
运行测试需要稍加修改才能使rake测试工作(感谢John P. Wood)。创建文件lib/tasks/mongo。包含以下内容的Rake:
namespace :db do
namespace :test do
task :prepare do
# Stub out for MongoDB
end
end
end
现在各种rake测试任务将正常运行。详情请参阅John的文章。
他们还引用了John Wood的帖子,这篇文章非常好。