Bundler (버전 1.0.12) 덕분에 내가 만든 gem을 Gemfile에 포함시킨 다음 번들링하거나 다음과 같이 레이크를 시도합니다.
$ rake
이 오류 메시지가 있습니다.
Invalid gemspec in [/Users/zagzag/.rvm/gems/ruby-1.9.2-p180@foobar/specifications/myplugin-1.0.0.gemspec]: invalid date format in specification: "2011-04-21 00:00:00.000000000Z"
저는 마지막 Mac OS X (10.6.4)를 사용하고 있습니다.
$ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.4.0]
과:
$ gem -v
Invalid gemspec in [/Users/zagzag/.rvm/gems/ruby-1.9.2-p180@foobar/specifications/myplugin-1.0.0.gemspec]: invalid date format in specification: "2011-04-21 00:00:00.000000000Z"
1.7.2
이 문제를 해결하는 방법을 모르겠습니다. 모든 아이디어에 감사드립니다.
답변
“사양에 잘못된 날짜 형식”오류를 수정하는 방법은 다음과 같습니다.
1.) 다음 위치에있는 사양 폴더로 이동합니다.
/usr/local/lib/ruby/gems/1.8/specifications/
2.) 문제를 일으키는 사양을 찾으십시오.
3.) 변경 s.date = %q{2011-05-21 00:00:00.000000000Z}
에s.date = %q{2011-05-21}
그것은 나를위한 승리입니다! 행운을 빕니다
답변
모든 gem에 대해이 문제를 해결하는 명령은 다음과 같습니다.
perl -p -i -e 's/ 00:00:00.000000000Z//' ~/gems/specifications/*.gemspec
문제 로 변환 s.date = %q{2011-05-21 00:00:00.000000000Z}
되고 s.date = %q{2011-05-21}
수정되어야합니다.
답변
Damian Nowak의 의견을 주목하십시오. 이 명령은 루비 젬을 엉망으로 만들 수 있습니다!
Ubuntu 11.10에서는 다음이이 오류를 해결했습니다.
sudo gem install rubygems-update
sudo update_rubygems
다음은 일부 시스템에서는 작동하지만 Debian 기반에서는 작동하지 않을 수 있습니다.
sudo gem update --system
답변
당신은 당신을 업그레이드 할 수 있습니다 gem
. 이 문제를 해결하려면 gemspec
파일을 직접 편집 할 수 있습니다.
2011-04-21 00:00:00.000000000Z
…에
YYYY-MM-DD
또는 레일도 업그레이드
sudo gem update rails
문제가 해결됩니다.
답변
시간을 지정하지 말고 날짜 만 지정하십시오. 2011-04-21
잘 작동합니다.
답변
같은 문제가있었습니다. rubygems의 버그처럼 보입니다. 수정 한 커밋은 다음과 같습니다. https://github.com/rubygems/rubygems/commit/21cccd55b823848c5e941093a615b0fdd6cd8bc7
rubygems 및 bundler를 최신 버전으로 업데이트해야합니다. 그 후에도 문제가 계속되면 문제를 일으키는 모든 gem을 제거한 다음 다시 설치해야 할 수 있습니다.
답변
이것은 벤 홀의 답변에 대한 의견에 가깝지만 아직 그 특권이 없습니다.
gem 업데이트가 작동하지 않는 것 같았습니다. 잘못된 날짜 형식으로 인해 gem을로드 할 수도 없다고 생각했습니다. 날짜를 수동으로 변경하는 것은 너무 답답해서 하나씩 갈 수 없었으므로 grep :
grep -i *.gemspec -e '.*s\.date.*=.*%q{\(....-..-..\) \(.*Z\)}
그리고 sed :
sed -i -e 's/\(.*\)s\.date.*=.*%q{\(....-..-..\) \(.*Z\)}/\1s.date = %q\{\2}/p' ./*.gemspec
그리고 당신 자신의 위험에 !! 나는 여전히 sed 초보자이지만 나를 위해 일했습니다.)