Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby gems/anemone-0.7.2/lib/anemone/storage.rb:28:in`MongoDB';:未初始化常量Mongo::Connection(NameError)_Ruby_Mongodb_Gem_Anemone - Fatal编程技术网

Ruby gems/anemone-0.7.2/lib/anemone/storage.rb:28:in`MongoDB';:未初始化常量Mongo::Connection(NameError)

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

使用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

有什么建议吗?

自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