gem update がうまくいかないときのメモ
毎度毎度、あたらしいインスタンスのたびにgemの更新が
スムーズにできない愚かなわたし。
毎度毎度、「あーこれこの前やったわー」ってミサワになるのも
つかれたので、ちゃんとメモしておこう。
gem install でいろいろいれていくと、そのうち「gem をupdateしてくれよ」
って言われますよね。
わたしはZenTestいれようとして言われました。
# gem install ZenTest
ERROR: Error installing ZenTest:
ZenTest requires RubyGems version ~> 1.8. Try 'gem update --system' to update RubyGems itself.
それでまあ実行するんだけど、うまくupdateできないんだ。
# gem update --system
Updating RubyGems
ERROR: While executing gem ... (NoMethodError)
undefined method `version' for nil:NilClass
調べると、世間ではgemのupdateはrubygems-updateを使う潮流になっていた。
http://rubygems.org/gems/rubygems-update
# gem install rubygems-update
Fetching: rubygems-update-1.8.15.gem (100%)
Successfully installed rubygems-update-1.8.15
1 gem installed
つつがなくインストール。
すかさず実行。
# update_rubygems
Invalid gemspec in [/usr/lib64/ruby/gems/1.8/specifications/tilt-1.3.3.gemspec]: invalid date format in specification: "2011-08-25 00:00:00.000000000Z"
...
invalid date format in specification がもりもり出てくる。
それで調べてみると、stackoverflowの皆さんが、エラーしてる
とこの日付書式を消しちまえよHAHAHAとおっしゃっている。
http://stackoverflow.com/questions/7290575/invalid-date-format-specification-in-gemspec
消そうじゃないか。
# cd /usr/lib64/ruby/gems/1.8/specifications/
# find . -type f | xargs perl -pi -e 's/ 00:00:00\.000000000Z//'
やってやった。
もういちどupdateしてみる。
# update_rubygems
RubyGems 1.8.15 installed
うまくいった\(^o^)/