Install hpricot on Leopard

C

Colin Summers

Oh, this was working SO nicely until I upgraded the OS...

I tried running my little site spider to keep my archive up-to-date
and I got an error about mechanize not being available. No problem,
I'll just fire up gem and install it. Not so fast...

It requires hpricot and
sudo gem install hpricot
gave me errors that led me to the realization that new OS meant new
compilers and the installation of XCode 3.0. (I'm quite new to the CLI
stuff.)

Once I did that, hpricot and mechanize both installed okay. But I get:

/usr/local/lib/ruby/gems/1.8/gems/mechanize-0.6.10/lib/mechanize/
inspect.rb:44: undefined method `pretty_inspect' for class
`WWW::Mechanize::page' (NameError)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:
27:in `require'
from /usr/local/lib/ruby/gems/1.8/gems/mechanize-0.6.10/lib/
mechanize.rb:42
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:
32:in `require'
from scrape.rb:13

Clues?

Thanks.
--Colin
 
J

John Joyce

Oh, this was working SO nicely until I upgraded the OS...

I tried running my little site spider to keep my archive up-to-date
and I got an error about mechanize not being available. No problem,
I'll just fire up gem and install it. Not so fast...

It requires hpricot and
sudo gem install hpricot
gave me errors that led me to the realization that new OS meant new
compilers and the installation of XCode 3.0. (I'm quite new to the CLI
stuff.)

Once I did that, hpricot and mechanize both installed okay. But I get:

/usr/local/lib/ruby/gems/1.8/gems/mechanize-0.6.10/lib/mechanize/
inspect.rb:44: undefined method `pretty_inspect' for class
`WWW::Mechanize::page' (NameError)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:
27:in `require'
from /usr/local/lib/ruby/gems/1.8/gems/mechanize-0.6.10/lib/
mechanize.rb:42
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:
32:in `require'
from scrape.rb:13

Clues?

Thanks.
--Colin
Make sure you use
sudo install gem_name_here --include-dependencies

Also make sure your spider has the right shebang at the beginning. #!
usr/bin/or/whatever
Using the default Ruby on Leopard is definitely feasible now, but the
path might be different from your old one.

Now make sure you're requiring all the right stuff.
require 'rubygems'
require 'gem_name_here'
 
B

bladenut

The first bit of scrape.rb

#! /usr/local/bin/ruby
# scrape.rb
# June 13 2007. Started writing my first Ruby program.
# June 16 2007. It is doing most of everything I wanted it to.
# Colin Summers. (e-mail address removed)

require 'rubygems' # the module for Ruby that keeps modules up to
date
require 'cgi'
require 'open-uri' # http module used by mechanize
require 'hpricot'
require 'mechanize' # a nicely wrapped browser client

Agent = WWW::Mechanize.new # there's one browser agent we'll use
globally, so it stores the cookies

MacBookPro:spider colin$ which ruby
/usr/local/bin/ruby
MacBookPro:spider colin$ ruby -v
ruby 1.8.4 (2005-12-24) [i686-darwin8.10.1]

Same error still:
MacBookPro:spider colin$ ruby scrape.rb
/usr/local/lib/ruby/gems/1.8/gems/mechanize-0.6.10/lib/mechanize/
inspect.rb:44: undefined method `pretty_inspect' for class
`WWW::Mechanize::page' (NameError)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:
27:in `require'
from /usr/local/lib/ruby/gems/1.8/gems/mechanize-0.6.10/lib/
mechanize.rb:42
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:
32:in `require'
from scrape.rb:14

Does anyone have mechanize working on Leopard?

--Colin
 
R

rawn027

Am I the only one that sees that hpricot is installed by default on
leopard?

-Ron
 
P

peter

Hi,
MacBookPro:spider colin$ which ruby
/usr/local/bin/ruby
MacBookPro:spider colin$ ruby -v
ruby 1.8.4 (2005-12-24) [i686-darwin8.10.1]

Same error still:
MacBookPro:spider colin$ ruby scrape.rb
/usr/local/lib/ruby/gems/1.8/gems/mechanize-0.6.10/lib/mechanize/
inspect.rb:44: undefined method `pretty_inspect' for class
`WWW::Mechanize::page' (NameError)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:
27:in `require'
from /usr/local/lib/ruby/gems/1.8/gems/mechanize-0.6.10/lib/
mechanize.rb:42
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:
32:in `require'
from scrape.rb:14

I am not sure this is leopard-related. I have the same bug submitted to
the scRUBYt! lighthouse:

http://scrubyt.lighthouseapp.com/pr...d-pretty_inspect-for-class-www-mechanize-page

and AFAIK this happens both on win32 and linux (ubuntu, at least). So I
believe this is a mechanize bug, introduced in 0.6.10. I have tried to
contact Aaron Patterson but got no response. I guess we should file a bug.

Cheers,
Peter

___
http://www.rubyrailways.com
http://scrubyt.org
 
E

Ehud

Happens for me as well, on ubuntu 6.10, after a clean install of
mechanize with dependencies.
Any ideas?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,059
Latest member
cryptoseoagencies

Latest Threads

Top