bundle install をしたら、
特定の gem が下記のような警告を出した。
WARNING: Invalid .gemspec format in '/usr/lib/ruby/gems/1.9.1/specifications/factory_girl_rails-1.6.0.gemspec'
WARNING: #<argumenterror: ["#<syck::defaultkey:0x00000008c8fb60="" illformed="" requirement=""> 3.0.7"]>
これはなんぞ?と思って gemspec ファイルとかを見てみたけど、ruby のことを
あまり理解してないのでよく分からず右往左往…。
識者に聞きつつ色々と試みたところ、結局gem のバージョンが古いのが原因だった。
# gem -v
1.3.7
1.3.7 はめちゃめちゃ古いらしい。
rubyの1.9.2を入れたらデフォで入ってたのでそれをそのまま使ってたよ…orz
ということで gem をアップデート。
# gem update --system
すると同じようなメッセージがつらつらと…
Invalid gemspec in [/usr/lib/ruby/gems/1.9.1/specifications/libv8-3.3.10.4-x86_64-linux.gemspec]: invalid date format in specification: "2011-11-15 00:00:00.000000000Z"
Invalid gemspec in [/usr/lib/ruby/gems/1.9.1/specifications/acts_as_audited-2.0.0.gemspec]: invalid date format in specification: "2011-09-12 00:00:00.000000000Z"
Invalid gemspec in [/usr/lib/ruby/gems/1.9.1/specifications/tilt-1.3.3.gemspec]: invalid date format in specification: "2011-08-25 00:00:00.000000000Z"
Invalid gemspec in [/usr/lib/ruby/gems/1.9.1/specifications/polyamorous-0.5.0.gemspec]: invalid date format in specification: "2011-09-03 00:00:00.000000000Z"
Invalid gemspec in [/usr/lib/ruby/gems/1.9.1/specifications/therubyracer-0.9.9.gemspec]: invalid date format in specification: "2011-11-08 00:00:00.000000000Z"
Invalid gemspec in [/usr/lib/ruby/gems/1.9.1/specifications/jquery-rails-1.0.19.gemspec]: invalid date format in specification: "2011-11-26 00:00:00.000000000Z"
Invalid gemspec in [/usr/lib/ruby/gems/1.9.1/specifications/meta_search-1.1.1.gemspec]: invalid date format in specification: "2011-09-03 00:00:00.000000000Z"
Invalid gemspec in [/usr/lib/ruby/gems/1.9.1/specifications/orm_adapter-0.0.6.gemspec]: invalid date format in specification: "2012-01-10 00:00:00.000000000Z"
RubyGems 1.8.17 installed
とりあえずリターンコードは 0 なので、インストールは出来ている模様。
しかし、gem コマンドを打つたびに上記のメッセージが表示されるため、無視は出来ない。
ちょっとググってみると、メッセージの通り日時のフォーマットがダメらしい。
×:2012-01-10 00:00:00.000000000Z
○:2012-01-10
そうゆうことなので、一括置換してしまった。
find . -name "*.gemspec" -exec sed -i 's/ 00:00:00.000000000Z//' {} \;
これで警告は出なくなった、一件落着。(多分…^^;)
0 件のコメント:
コメントを投稿