Ruby gems/anemone-0.7.2/lib/anemone/storage.rb:28:in`MongoDB';:未初始化常量Mongo::Connection(NameError)
使用Anemone时,我在尝试使用MongoDB时遇到以下错误:Ruby gems/anemone-0.7.2/lib/anemone/storage.rb:28:in`MongoDB';:未初始化常量Mongo::Connection(NameError),ruby,mongodb,gem,anemone,Ruby,Mongodb,Gem,Anemone,使用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 = Ane
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
有什么建议吗?自2010年以来,Anemone中的Mongo存储驱动程序一直没有更新,仍然使用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_ext