autotest/rspec/rubygems problems
Published 2007-05-30 @ 11:14
Tagged zentest, rails, ruby, minitest
I just finished diagnosing a problem with two users who were both seeing the following stack trace when firing up autotest:
.../rubygems.rb:325:in `latest_partials':
undefined method `[]' for nil:NilClass (NoMethodError)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:322:in `each'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:322:in `latest_partials'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:292:in `latest_load_paths'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:291:in `each'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:291:in `latest_load_paths'
from /usr/local/lib/ruby/gems/1.8/gems/ZenTest-3.6.0/lib/autotest.rb:109:in `
autodiscover'
from /usr/local/lib/ruby/gems/1.8/gems/ZenTest-3.6.0/bin/autotest:36
from /usr/local/bin/autotest:18:in `load'
from /usr/local/bin/autotest:18
It apparently turns out (ironically), that rspec 0.8 or so installed a bogus gem named “web_spec” with no version or anything and was choking the latest_load_paths
method I was using in rubygems. This gem wasn’t removed when you removed rspec so it might still be floating around in your system. If so, please remove it.
cd `gem env gem path`/gems
sudo rm -rf web_spec*
cd ../specs
sudo rm -rf web_spec*