I’ve been using hpricot 0.4 in Windows XP with no problems. Recently I
migrated some scripts to Ubuntu Dapper 6.06, running Ruby 1.8.4, and
encountered a weird fatal problems with hpricot 0.4:
”)
NoMethodError: private method scan' called for Hpricot:Module from /usr/lib/ruby/gems/1.8/gems/hpricot-0.4/lib/hpricot/parse.rb:19:inmake’
from
/usr/lib/ruby/gems/1.8/gems/hpricot-0.4/lib/hpricot/parse.rb:11:in parse' from /usr/lib/ruby/gems/1.8/gems/hpricot-0.4/lib/hpricot/parse.rb:4:inHpricot’
from (irb):2
That error causes all tests in test_parser.rb to fail upon startup.
Trying to make Hpricot.scan public at runtime pruduced another error:
irb(main):002:0> class << Hpricot; public :scan; end
=> #Class:Hpricot
irb(main):003:0> Hpricot(“
A simple test string.
”)
TypeError: $_ value need to be String (nil given)
from (irb):2:in scan' from (irb):2:inscan’
from
/usr/lib/ruby/gems/1.8/gems/hpricot-0.4/lib/hpricot/parse.rb:19:in make' from /usr/lib/ruby/gems/1.8/gems/hpricot-0.4/lib/hpricot/parse.rb:11:inparse’
from
/usr/lib/ruby/gems/1.8/gems/hpricot-0.4/lib/hpricot/parse.rb:4:in
`Hpricot’
from (irb):3
After changing my OS from Mandriva to Ubuntu Dapper 6.06, I’ve got this
same error message when running a ruby script that was working fine on
my Mandriva setup.
No, my script only uses Hpricot, and the failure is definitely in the
Hpricot part.
But if you’re using Mechanize >= 0.6.0, then you’re depending on
Hpricot[1]. That would probably be the cause of the identical error
you’re witnessing.
My best guess so far is that something’s wrong with the compilation of
the gem on Dapper 6.0.6. My own system is the AMD64 release. What’s
yours?
I guess the next logical step - assuming we get no answer here - is to
file a bug report on the Hpricot trac.