RVM と RubyGem
RVM は Ruby の各バージョンに完全に新しい個別の gem ディレクトリを作成します。さらに、これをさらに細分化してプロジェクト/アプリケーション/じゃこうねずみ色ごとに一連の gem を保有できます。gem のセットを使用する方法の詳細については、 Gem セット を参照してください。
sudo を使用しないでください...
RVM gem で操作します。sudo を実行すると、root などの別のユーザーの別のシェルでコマンドを実行するため、コマンドが sudo で実行されている間、RVM があなたのために行ったすべての設定は無視されます (例: GEM_HOME など)。つまり、繰り返しになりますが、『sudo』を実行すると、root システムユーザーとして実行されたため、環境がクリアされ、作成されたすべてのファイルはユーザーによって編集できなくなり、奇妙な現象が発生します (自分のアプリケーションに誰かがヴードゥーの人形を使用していると考えるようになります)。
gemdir アクションを使用して、現在選択されている Ruby の gem ディレクトリを確認できます。
$ rvm 2.1.1 $ rvm gemdir /Users/rys/.rvm/gems/ruby-2.1.1
現在選択されている Ruby の gem ディレクトリに変更するには、サブシェルを使用します。
$ rvm 2.1.1 $ cd $(rvm gemdir) $ pwd /Users/rys/.rvm/gems/ruby-2.1.1
これが頻繁に行うことである場合は、次の bash 関数を ~/.bash_profile または ~/.zshrc に配置できます。
# Thanks for the awesome idea batasrki function gemdir { if [[ -z "$1" ]] ; then echo "gemdir expects a parameter, which should be a valid RVM Ruby selector" else rvm "$1" cd $(rvm gemdir) pwd fi }
次に、個々の RVM Ruby gem ディレクトリに切り替えるには、次のようにします。Gem
$ gemdir 2.1.1 /Users/rys/.rvm/gems/ruby-2.1.1 $ pwd /Users/rys/.rvm/gems/ruby-2.1.1
RubyGems CLI API
RVM には現在、「rubygems」CLI コマンドが追加されています。これにより、インストールされているインタプリタの rubygems バージョンを変更できます。RVM によって認識されている最新の RubyGems をインストールするには、次を実行できます。
$ rvm rubygems current
RVM が認識しているものよりも新しいバージョンの rubygem がリリースされた場合、新しいバージョンをインストールするには最新の RVM のダウンロード URL がリリースごとに変更される (rubyforge スキーマでは矛盾が見られる) ため、新しいバージョンをインストールするには RVM の最新バージョン (最新の git ヘッドが最適) を入手する必要があります。
特定の rubygem バージョンをインストールするには、バージョンを直接指定できます。たとえば、RubyGems バージョン 1.5.2 をインストールする場合は、次のようにします。
$ rvm rubygems 1.5.2
MRI 1.9.X+ の場合、RubyGems のバージョンが組み込まれています。'rvm rubygems' API を介して別の RubyGems をインストールし、組み込みのものに戻ることを決定した場合は、次のコマンドを実行してインストールした別のバージョンを削除できます。
$ rvm rubygems remove
異なる RubyGem バージョンを備えた同じ Ruby バージョン
RubyGem バージョンは、Ruby バージョンに結び付けられています。同じ Ruby バージョンで同時に 2 つの異なるバージョンの RubyGems を持つことはできません。しかし、同じバージョンの Ruby に結び付けられた 2 つ以上の異なるバージョンの RubyGems を持つことが必要な場合があります。
これを達成するには、Ruby の同じバージョンをインストールする必要がありますが、名前 は異なります。
$ rvm install ree -n rg152 $ rvm use ree-rg152 $ gem --version 1.8.10 $ rvm rubygems 1.5.2 ... $ gem --version 1.5.2