Step by Step Ruby on Rails

Ruby on Railsで実際にWebサイトを構築する手順をまとめています。

RVMのgemsetsの概要と設定方法

RVMのgemsetsの概要と設定方法についてまとめました。
※RVMとrubyのインストールについては以下の記事参照。
RVMでCentOSにRuby2.0.0、Ruby1.9.2をインストール

(1)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"が実行されたときのみ追加される。
(2)RVMのgemsetsの設定
 
1)概要
 
・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)