トップ «前の日記(2008-02-03) 最新 次の日記(2008-02-05)» 編集

Ussy Diary


2008-02-04

[Ruby][Ubuntu]RubyGems 1.0.1 でトラブル

ずっと放置していたので更新してみたところ、実行ができなくなってしまいました。

エラーメッセージをググってみたところ、すでに同じ症状で解決されている方 がいたので同様の手順にて解決できました。

Ubuntuでrubygemsを1.0.1にudpateしたら"uninitialized constant Gem::GemRunner(NameError)"のエラー

終わったと思ったところ、今度は今まで使えていた gem ライブラリが見つからずエラーになってしまいました。

どうやら /var/lib/gems から /usr/lib/ruby/gems にホーム先が変わって、 gem が新しい方を見ているのが原因のようです。そのままコピーして動くようになりました。

心配であればもう一度入れ直せばいいだけです。

[Ruby]gem update の対象から外す

今は趣味で Ruby をいじり始めたので、いつも gem update はパッケージを 指定せず、すべて更新するようにしても特に困りませんでした。

今回 RMagick を試そうとしたところ deb パッケージは RMagick の 最新版が要求する ImageMagick が提供されていませんでした。

ソースからコンパイルすれば解決するのですが、試すだけなので 1 系を インストールし gem update で毎回失敗のメッセージが出てしまうようになりました。

今日のトラブルでソースをみていて specifications から対象の gemspec ファイルをなくすと更新から外れる ということを、たまたま知りました。

移動させるのもおかしいので何か hold オプションみたいなものがあるのかと思ったのですが、 commands/update_command.rb を見た限りなさそう。

と思ったらやはりパッチが書かれていました(笑)

http://moriq.tdiary.net/20071103.html

将来的には apt みたいにファイルを書いて除外し続けられるようになれば、 いつも gem update ですんで楽になるんじゃないかなあ。