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
on 01.11.2007 05:54
on 01.11.2007 06:53
On Oct 31, 2007, at 11:50 PM, Colin Summers wrote: > stuff.) > 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'
on 02.11.2007 04:21
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 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
on 02.11.2007 04:26
Am I the only one that sees that hpricot is installed by default on leopard? -Ron
on 02.11.2007 09:09
Hi, > 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/projects/2912/tickets/17-undefined-method-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
on 15.11.2007 10:35
Happens for me as well, on ubuntu 6.10, after a clean install of mechanize with dependencies. Any ideas?
on 15.11.2007 11:01
Ok, this fixed it for me: https://rubyforge.org/tracker/index.php?func=detail&aid=15049&group_id=1453&atid=5709