I had a Ruby on Rails app that used to work. I hadn’t used it in a month or so, but then tried starting it up today with rails s and got the following error—in fact, I get this error when I try rails -h or rails -v or even gem -h or sudo gem update --system or anything having to do with gem.
NOTE: Gem::Specification#default_executable= is deprecated with no replacement. It will be removed on or after 2011-10-01.
Gem::Specification#default_executable= called from /Library/Ruby/Gems/1.8/specifications/rubygems-update-1.8.2.gemspec:11.
Invalid gemspec in [/Library/Ruby/Gems/1.8/specifications/tilt-1.3.3.gemspec]: invalid date format in specification: "2011-08-25 00:00:00.000000000Z"
NOTE: Gem::Specification#default_executable= is deprecated with no replacement. It will be removed on or after 2011-10-01.
Gem::Specification#default_executable= called from /Users/me/.gem/ruby/1.8/specifications/json-1.5.1.gemspec:10.
/Library/Ruby/Site/1.8/rubygems/specification.rb:277:in `_resort!': undefined method `name' for nil:NilClass (NoMethodError)
from /Library/Ruby/Site/1.8/rubygems/specification.rb:276:in `sort!'
from /Library/Ruby/Site/1.8/rubygems/specification.rb:276:in `_resort!'
from /Library/Ruby/Site/1.8/rubygems/specification.rb:270:in `_all'
from /Library/Ruby/Site/1.8/rubygems/specification.rb:402:in `each'
from /Library/Ruby/Site/1.8/rubygems/dependency.rb:216:in `find_all'
from /Library/Ruby/Site/1.8/rubygems/dependency.rb:216:in `matching_specs'
from /Library/Ruby/Site/1.8/rubygems/dependency.rb:238:in `to_specs'
from /Library/Ruby/Site/1.8/rubygems/dependency.rb:256:in `to_spec'
from /Library/Ruby/Site/1.8/rubygems.rb:1182:in `gem'
from /usr/bin/rails:18
Anyone know what’s going on and how to fix it? How can I uninstall it all and reinstall it (without uninstalling my OS, man that would really suck)
I’d try cleaning out all your installed gems by running
After this
gem listshould list no gems. Then runto ensure Ruby Gems is at the latest version. You’ll then have to reinstall all your gems. (Probably
gem install bundlerfollowed bybundle install).By the way, you should check out rbenv or rvm for managing Ruby versions and keeping all your development gems separate from the system Ruby.