RubyGems
を提供してくれます。
RubyGems is the premier ruby packaging system. It provides:
http://docs.rubygems.org/read/book/1
・A standard format for distributing Ruby programs and libraries.
・An easy to use tool for managing the installation of gem packages.
・A gem server utility for serving gems from any machine where the RubyGems is installed.
・A standard way of publishing gem packages.
以下、RVM管理下にある「ruby-1.9.2-p136」について話を進めていきます。
RubyGemsのバージョン確認
次のコマンドでRubyGemsのバージョンを確認することができます。
gem --version
このコマンドを実行して、インストールされているRubyGemsのバージョンを確認します。
goh:~ goh$ gem --version 1.5.0 goh:~ goh$
RubyGemsのアップデート
2011.02.11現在、RubyGemsの最新バージョンは「1.5.2」なので、アップデートしてみます。
http://rubyforge.org/projects/rubygems/
http://rubygems.org/
以下のサイトの手順*1に従ってRubyGemsをアップデートしてみます。
http://docs.rubygems.org/read/chapter/3#page14
RubyGemsのアップデートの方法は大きく分けて2種類あります。
-
- コマンドでアップデートする
- 最新のRubyGemsをダウンロードしてインストールし直す
まずは、コマンドでアップデートしてみます。
RubyGemsのバージョンが「0.8.5」以上であれば、次のコマンドでRubyGemsをアップデートすることができます。*2
gem update --system
インストールされているバージョンは「1.5.0」なので、実行してみましたが、エラーが発生してしまいました。
goh:~ goh$ gem update --system Updating RubyGems ERROR: While executing gem ... (NoMethodError) undefined method `version' for nil:NilClass goh:~ goh$
以下のいずれかを満たす場合、
アップデートするには、次のコマンドを実行する必要があるようです。
gem install rubygems-update update_rubygems
「gem install rubygems-update」は、「rubygems-update」というgemをインストールするコマンドです。
そこで「rubygems-update」がインストールされているか調べてみることにしました。
インストールされているgemの確認
次のコマンドでインストールされているgemを確認することができます。
gem list
実行してみると、「rake」しかインストールされていないことがわかりました。
goh:~ goh$ gem list *** LOCAL GEMS *** rake (0.8.7) goh:~ goh$
gem「rubygems-update」のインストール
次のコマンドを実行して、最新の「rubygems-update」をインストールすることができます。
gem install rubygems-update update_rubygems
実行してみると、RubyGemsを「1.5.2」にアップデートできました。
goh:~ goh$ gem install rubygems-update Fetching: rubygems-update-1.5.2.gem (100%) Successfully installed rubygems-update-1.5.2 1 gem installed Installing ri documentation for rubygems-update-1.5.2... Installing RDoc documentation for rubygems-update-1.5.2... goh:~ goh$ update_rubygems RubyGems 1.5.2 installed === 1.5.2 / 2011-02-10 NOTE: RubyGems 1.5.0 and 1.5.1 have a broken <tt>gem update --system</tt>. To upgrade you'll need to use the manual upgrade recipe. Using sudo/su as appropriate: $ gem install rubygems-update $ update_rubygems Bug Fixes: * Fixed <tt>gem update --system</tt>. RubyGems can now update itself again. ------------------------------------------------------------------------------ RubyGems installed the following executables: /Users/goh/.rvm/rubies/ruby-1.9.2-p136/bin/gem goh:~ goh$
「1.5.0」「1.5.1」の「gem update --system」コマンドは壊れていたんですね。
以下のサイトを見てみましたが、「gem update --system」コマンドが壊れているという情報は見当たりませんでした。
http://docs.rubygems.org/
http://rubygems.org/
アップデートしないと、コマンドが壊れていたことがわからないというのは、うれしくないです…
コマンド実行後、インストールされているかどうかを「gem list」コマンドで確認しました。
goh:~ goh$ gem list *** LOCAL GEMS *** rake (0.8.7) rubygems-update (1.5.2) goh:~ goh$
元々「rubygems_update」がインストールされていなかったので、「gem install rubygems_update」コマンドを実行すると最新版がインストールされました。
このため「rubygems_update」コマンドを実行する必要はなかったと思われます。