Invalid date format specification in gemspec
I am getting the following error when I try to use gems in windows, and I also referred to this stackoverflow post and updated rubygems and rails. But nothing could solve the problem.
The following is the complete error,
D:\>gem env Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /tilt-1.3.3.gemspec]: invalid date format in specification: "2011-08-25 00:00:00 .000000000Z" Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /execjs-1.2.4.gemspec]: invalid date format in specification: "2011-08-03 00:00: 00.000000000Z" Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /temple-0.3.3.gemspec]: invalid date format in specification: "2011-08-26 00:00: 00.000000000Z" Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-0.6.3.gemspec]: invalid date format in specification: "2011-09-01 00:00:0 0.000000000Z" Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-livereload-0.3.1.gemspec]: invalid date format in specification: "2011-09 -01 00:00:00.000000000Z" Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /rack-cache-1.0.3.gemspec]: invalid date format in specification: "2011-08-27 00 :00:00.000000000Z" Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /tilt-1.3.3.gemspec]: invalid date format in specification: "2011-08-25 00:00:00 .000000000Z" Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /execjs-1.2.4.gemspec]: invalid date format in specification: "2011-08-03 00:00: 00.000000000Z" Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /temple-0.3.3.gemspec]: invalid date format in specification: "2011-08-26 00:00: 00.000000000Z" Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-0.6.3.gemspec]: invalid date format in specification: "2011-09-01 00:00:0 0.000000000Z" Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-livereload-0.3.1.gemspec]: invalid date format in specification: "2011-09 -01 00:00:00.000000000Z" Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /rack-cache-1.0.3.gemspec]: invalid date format in specification: "2011-08-27 00 :00:00.000000000Z" RubyGems Environment: - RUBYGEMS VERSION: 1.7.2 - RUBY VERSION: 1.8.7 (2011-06-30 patchlevel 352) [i386-mingw32] - INSTALLATION DIRECTORY: D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8 - RUBY EXECUTABLE: D:/RailsInstaller/Ruby1.8.7/bin/ruby.exe - EXECUTABLE DIRECTORY: D:/RailsInstaller/Ruby1.8.7/bin - RUBYGEMS PLATFORMS: - ruby - x86-mingw32 - GEM PATHS: - D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8 - C:/Documents and Settings/jeygokul/.gem/ruby/1.8 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - http://rubygems.org/
Solution 1:
The ultimate solution is this:
Search "spec" files in your Ruby directory: *C:\Ruby187\lib\ruby\gems\1.8\specifications*
If a gemspec file contains something like this: s.date = %q{2011-10-13 00:00:00.000000000Z} Then delete the 00:00:00.000000000Z part: s.date = %q{2011-10-13}
After saving those gemspec files, the problem is solved.
Solution 2:
None of these solutions worked for me. To fix it, I removed all the content of the mentioned directory (some/path/to/specification/) then I installed the gems I need (actually, Bundler then bundle install).
Solution 3:
I have fixed this issue by upgrading my RubyGems to 1.8.10 with
gem update --system
Edit: You can also try (as suggested by ZeissS)
gem install rubygems-update
update_rubygems
Solution 4:
In addition to running gem update --system
I used gem install <gem with bad gemspec>
on each of the item gem env reported as bad. This cleaned up the errors on my machine.
Solution 5:
As Michael said in the comment:
gem pristine --all