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
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'
···
On Oct 31, 2007, at 11:50 PM, Colin Summers wrote:
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
#! /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. colin@mightycheese.com
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
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
Am I the only one that sees that hpricot is installed by default on leopard?
-Ron
···
On Nov 1, 2007, at 11:12 PM, Colin Summers wrote:
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. colin@mightycheese.com
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
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
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:
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.