1

Windows で Ruby 1.9.2 でスクラブを使用し、Scrubyt::Extractor.define を呼び出すと次のエラーが発生します。

C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:479:in load_missing_constant': Scrubyt::Navigation is not missing constant Mechanize! (ArgumentError)
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:183:inblock in const_missing'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:181:in each'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:181:inconst_missing'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/scrubyt-0.4.31/lib/scrubyt/core/navigation/agents/mechanize.rb:17:in block in included'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/scrubyt-0.4.31/lib/scrubyt/core/navigation/agents/mechanize.rb:16:inmodule_eval'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/scrubyt-0.4.31/lib/scrubyt/core/navigation/agents/mechanize.rb:16:in included'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/scrubyt-0.4.31/lib/scrubyt/core/shared/extractor.rb:29:ininclude'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/scrubyt-0.4.31/lib/scrubyt/core/shared/extractor.rb:29:in block in define'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/scrubyt-0.4.31/lib/scrubyt/core/shared/extractor.rb:28:inclass_eval'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/scrubyt-0.4.31/lib/scrubyt/core/shared/extractor.rb:28:in `define'

@@agent = Mechanize::Mechanize.newファイル内で「require 'mechanize'」と指定しているにも関わらず Mechanize が読み込まれていないのは、scrubyt/core/navigation/agents/mechanize.rbに関連しているようです。

mechanize (2.0.1)、hpricot (0.8.4)、fireawtir (1.9.3)、nokogiri (1.5.0) をインストールしました。

なぜ問題なのかについてのアイデアはありますか?

4

1 に答える 1

1

mechanize (0.9.3) を使用して解決し、scrubyt-0.4.31\lib\scrubyt\core\navigation\agents\mechanize.rb、@@agent = Mechanize::Mechanize.new を @@agent = WWW:: に変更しました。 Mechanize.new. 私自身の問題かもしれませんが、他の誰かが使用できる場合に備えて、ここに解決策を投稿してください...

于 2011-07-31T19:39:19.763 に答える