RVMのgemsetsの概要と設定方法についてまとめました。
※RVMとrubyのインストールについては以下の記事参照。
RVMでCentOSにRuby2.0.0、Ruby1.9.2をインストール
※目次をクリックすると目次の下部にコンテンツが表示されます。
RVMのgemsetsの概要
・RVMはgemを”gemsets”と呼ばれるグループ内に保存する。
・RVM内のgemsetsは隔離されていて、それらのgemは一つのバージョンのRubyのみ利用できる。
・RVMのGemセットを使うことによって複数のバージョンのRubyを切り替えながら使用する事が出来る。
・RVMは、アプリケーションのリポジトリに小さなテキストファイルを追加することによって、膨大な数のgemをリポジトリサイズを増大させずに管理している。
・RVMのGem管理では共通のキャッシュディレクトリを使用しているので、各Gemについて複数のコピーをディスク上に置かず、ひとつのバージョンのみ置いている。
・RVMは、Rubyに関するすべての要素を完全に一般ユーザー空間内に含めることを可能としているので、rootユーザーを使用する必要が無く安全に使用できる。
・あるバージョンのRubyがインストールされると”global”と”default”の二つの空のgemsetsが同時に作られる。
”global”のgemsetsには、関連付けられているバージョンのRubyがアクティブまたは使用されているときに”rails new”コマンドが実行されされたときに追加される。
”default”のgemsetsには、そのgemsetがアクティブまたは使用されていて”rails new”が実行されたときのみ追加される。
・RVM内のgemsetsは隔離されていて、それらのgemは一つのバージョンのRubyのみ利用できる。
・RVMのGemセットを使うことによって複数のバージョンのRubyを切り替えながら使用する事が出来る。
・RVMは、アプリケーションのリポジトリに小さなテキストファイルを追加することによって、膨大な数のgemをリポジトリサイズを増大させずに管理している。
・RVMのGem管理では共通のキャッシュディレクトリを使用しているので、各Gemについて複数のコピーをディスク上に置かず、ひとつのバージョンのみ置いている。
・RVMは、Rubyに関するすべての要素を完全に一般ユーザー空間内に含めることを可能としているので、rootユーザーを使用する必要が無く安全に使用できる。
・あるバージョンのRubyがインストールされると”global”と”default”の二つの空のgemsetsが同時に作られる。
”global”のgemsetsには、関連付けられているバージョンのRubyがアクティブまたは使用されているときに”rails new”コマンドが実行されされたときに追加される。
”default”のgemsetsには、そのgemsetがアクティブまたは使用されていて”rails new”が実行されたときのみ追加される。
RVMのgemsetsの設定
1)概要
・RVMは、一つのRubyのバージョンに対し複数のgemsetsを定義できる。
・gemsetsを切り替えるとGEMがインストールされる場所であるGEM_HOMEのパスが切り替るので、Gemがインストールされる場所も変わる。
2)gemsetsに関するコマンド操作
①既存のgemsetsを確認
・RVMは、一つのRubyのバージョンに対し複数のgemsetsを定義できる。
・gemsetsを切り替えるとGEMがインストールされる場所であるGEM_HOMEのパスが切り替るので、Gemがインストールされる場所も変わる。
2)gemsetsに関するコマンド操作
①既存のgemsetsを確認
$ rvm gemset list gemsets for ruby-2.0.0-p247 (found in /home/user/.rvm/gems/ruby-2.0.0-p247) => (default) global
②gemsetsを新規作成
“ruby2rails4″という名前のgemsetsを作成する例。
$ rvm gemset create ruby2rails4 gemset created ruby2rails4 => /home/user/.rvm/gems/ruby-2.0.0-p247@ruby2rails4 $ rvm gemset list gemsets for ruby-2.0.0-p247 (found in /home/user/.rvm/gems/ruby-2.0.0-p247) (default) => global ruby2rails4 $ echo $GEM_HOME /home/user/.rvm/gems/ruby-2.0.0-p247@global
③使用するgemsetsを切り替える
$ rvm gemset use ruby2rails4 Using ruby-2.0.0-p247 with gemset ruby2rails4 $ rvm gemset list gemsets for ruby-2.0.0-p247 (found in /home/user/.rvm/gems/ruby-2.0.0-p247) (default) global => ruby2rails4 $ echo $GEM_HOME /home/user/.rvm/gems/ruby-2.0.0-p247@ruby2rails4
④gemsets内のGEMを表示する
GEM_HOME環境変数が変更されているので、gem listコマンドでgemsets内のGEMを表示出来る。
$ gem list *** LOCAL GEMS *** actionmailer (4.0.0, 3.2.11) actionpack (4.0.0, 3.2.11) : xpath (0.1.4)