使用Anemone时,我在尝试使用MongoDB时遇到以下错误:
gems/anemone-0.7.2/lib/anemone/storage.rb:28:in `MongoDB': uninitialized constant Mongo::Connection (NameError)代码如下所示:
require 'anemone'
require 'mongo'
Anemone.crawl("my.site") do |anemone|
anemone.storage = Anemone::Storage.MongoDB
# more code here...
end有什么建议吗?
发布于 2016-05-15 09:54:10
Anemone中的Mongo存储驱动程序自2010年以来就没有更新过,并且仍然使用Mongo ruby驱动程序的1.x版本的语法。
解决此问题的最简单方法是指示您的脚本使用较旧的gem。
首先,检查系统上是否有1.x版本的gem。从命令行执行以下操作:
gem list mongo它应该会给你一些类似的东西:
*** LOCAL GEMS ***
mongo (2.2.5, 1.12.5)
mongodb (2.1.0)我有一个1.x版本(1.12.5),所以我可以使用了。如果没有,可以使用以下命令安装:
gem install mongo -v 1.12.5然后,通过在文件的顶部放置以下行,指示脚本使用gem的1.x版本:
gem 'mongo', '=1.12.5'请注意,如果您在脚本中的其他任何地方使用Mongo,它现在将需要使用1.x语法。
此外,您可能会收到一条警告,要求您安装bson_ext,您可以使用以下命令执行此操作:
gem install bson_exthttps://stackoverflow.com/questions/32274738
复制相似问题