[ruby-on-rails] gemspec의 잘못된 날짜 형식 사양

Windows에서 gem을 사용하려고 할 때 다음과 같은 오류가 발생합니다. 또한
이 stackoverflow 게시물을 참조 하고 rubygems 및 rails를 업데이트했습니다. 그러나 그 어떤 것도 문제를 해결할 수 없습니다.

다음은 완전한 오류입니다.

    D : \> 보석 환경
[D : /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications에서 잘못된 gemspec
/tilt-1.3.3.gemspec] : 사양의 잘못된 날짜 형식 : "2011-08-25 00:00:00
.000000000Z "
[D : /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications에서 잘못된 gemspec
/execjs-1.2.4.gemspec] : 사양에 잘못된 날짜 형식 : "2011-08-03 00:00 :
00.000000000Z "
[D : /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications에서 잘못된 gemspec
/temple-0.3.3.gemspec] : 사양에 잘못된 날짜 형식 : "2011-08-26 00:00 :
00.000000000Z "
[D : /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications에서 잘못된 gemspec
/guard-0.6.3.gemspec] : 사양의 잘못된 날짜 형식 : "2011-09-01 00 : 00 : 0
0.000000000Z "
[D : /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications에서 잘못된 gemspec
/guard-livereload-0.3.1.gemspec] : 사양의 잘못된 날짜 형식 : "2011-09
-01 00 : 00 : 00.000000000Z "
[D : /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications에서 잘못된 gemspec
/rack-cache-1.0.3.gemspec] : 사양의 잘못된 날짜 형식 : "2011-08-27 00
: 00 : 00.000000000Z "
[D : /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications에서 잘못된 gemspec
/tilt-1.3.3.gemspec] : 사양의 잘못된 날짜 형식 : "2011-08-25 00:00:00
.000000000Z "
[D : /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications에서 잘못된 gemspec
/execjs-1.2.4.gemspec] : 사양에 잘못된 날짜 형식 : "2011-08-03 00:00 :
00.000000000Z "
[D : /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications에서 잘못된 gemspec
/temple-0.3.3.gemspec] : 사양에 잘못된 날짜 형식 : "2011-08-26 00:00 :
00.000000000Z "
[D : /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications에서 잘못된 gemspec
/guard-0.6.3.gemspec] : 사양의 잘못된 날짜 형식 : "2011-09-01 00 : 00 : 0
0.000000000Z "
[D : /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications에서 잘못된 gemspec
/guard-livereload-0.3.1.gemspec] : 사양의 잘못된 날짜 형식 : "2011-09
-01 00 : 00 : 00.000000000Z "
[D : /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications에서 잘못된 gemspec
/rack-cache-1.0.3.gemspec] : 사양의 잘못된 날짜 형식 : "2011-08-27 00
: 00 : 00.000000000Z "
RubyGems 환경 :
  -RUBYGEMS 버전 : 1.7.2
  -RUBY 버전 : 1.8.7 (2011-06-30 패치 레벨 352) [i386-mingw32]
  -설치 디렉토리 : D : /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8
  -RUBY 실행 가능 : D : /RailsInstaller/Ruby1.8.7/bin/ruby.exe
  -실행 가능한 디렉토리 : D : /RailsInstaller/Ruby1.8.7/bin
  -RUBYGEMS 플랫폼 :
    -루비
    -x86-mingw32
  -보석 경로 :
     -D : /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8
     -C : / 문서 및 설정 /jeygokul/.gem/ruby/1.8
  -보석 구성 :
     -: update_sources => 참
     -: verbose => 참
     -: benchmark => 거짓
     -: 역 추적 => 거짓
     -: bulk_threshold => 1000
  -원격 소스 :
     -http://rubygems.org/



답변

RubyGems를 1.8.10 으로 업그레이드 하여이 문제를 해결했습니다.

gem update --system

편집 : 시도 할 수도 있습니다 (ZeissS에서 제안한대로).

gem install rubygems-update
update_rubygems


답변

궁극적 인 해결책은 다음과 같습니다.

Ruby 디렉토리에서 “spec”파일 검색 : * C : \ Ruby187 \ lib \ ruby ​​\ gems \ 1.8 \ specifications *

gemspec 파일에 다음과 같은 내용이 포함 된 경우 : s.date = % q {2011-10-13 00 : 00 : 00.000000000Z } 그런 다음 00 : 00 : 00.000000000Z 부분을 삭제합니다 . s.date = % q {2011-10- 13}

해당 gemspec 파일을 저장하면 문제가 해결됩니다.


답변

이 솔루션 중 어느 것도 나를 위해 일하지 않았습니다. 이 문제를 해결하기 위해 언급 된 디렉토리 (some / path / to / specification /)의 모든 내용을 제거한 다음 필요한 gem을 설치했습니다 (실제로는 Bundler를 사용한 다음 번들 설치).


답변

실행하는 gem update --system것 외에도 gem install <gem with bad gemspec>각 항목 gem env가 불량으로보고되었습니다. 이것은 내 컴퓨터의 오류를 정리했습니다.


답변

Michael이 코멘트에서 말했듯이 :

gem pristine --all


답변

Ubuntu 11.10에 GEM을 설치하려고 할 때 동일한 문제가 발생했습니다.

Invalid gemspec in [/var/lib/gems/1.8/specifications/svn2git-2.1.2.gemspec]: invalid date format in specification: "2011-12-28 00:00:00.000000000Z"

위의 옵션은 저에게 효과적이지 않았습니다. gem env다음을보고했습니다.

RubyGems Environment:
  - RUBYGEMS VERSION: 1.7.2
  - RUBY VERSION: 1.8.7 (2011-06-30 patchlevel 352) [i686-linux]

그래서이 문제는 새로운 버전의 RubyGems를 설치해야했기 때문이라고 생각했습니다.

gem update --system다음 경고를 발행 했습니다.

ERROR:  gem update --system is disabled on Debian, because it will overwrite the content of the rubygems Debian package, and might break your Debian system in subtle ways. The Debian-supported way to update rubygems is through apt-get, using Debian official repositories.
If you really know what you are doing, you can still update rubygems by setting the REALLY_GEM_UPDATE_SYSTEM environment variable, but please remember that this is completely unsupported by Debian.

그러나 마침내 rubygems다음을 발행하여 1.8.15 로 업데이트 할 수있었습니다 .

sudo gem install rubygems-update && update_rubygems

그 후 모든 것이 작동했습니다. 행운을 빕니다! 🙂


답변

[/var/lib/gems/1.8/specifications/chronic-0.6.4.gemspec]의 잘못된 gemspec : 사양의 잘못된 날짜 형식 : “2011-09-09 00 : 00 : 00.000000000Z”

이러한 종류의 문제에 대한 간단한 수정은 파일을 탐색하는 것입니다.

1 단계. cd /var/lib/gems/1.8/specifications
2 단계. 선택한 편집기에서 파일 (chronic-0.6.4.gemspec)을 엽니 다 … (gedit chronic-0.6.4.gemspec)
3 단계. s.date = % q {2011-10-13 00 : 00 : 00.000000000Z}를 s.date = % q {2011-10-13}로 변경합니다.

건배 🙂