RubyGems、Bundler、RVMの関係、RVMを使用した場合のgemのインストール場所、GEM_HOMEとそれ以外の場合についてまとめて整理しました。
●RubyGemsとgemコマンド
・Ruby言語用のパッケージ管理システム。
・gemコマンドでRubyソフトウェアパッケージ(gem)を簡単にダウンロード、インストール。
・Rubyソフトウェアパッケージ(gem)のインストール先は、環境変数$GEM_HOME又は"gem environment"で確認できる。
※詳細は以下の記事参照。
RubyGemsとgemコマンドの概要
●Bundler
・Railsアプリで使用するRubyソフトウェアパッケージ(gem)のバージョン、依存性の管理が出来る。
・”Gemfile”という名前のファイルで設定を行う。
・”bundle install”などのコマンドを実行すると”Gemfile”に記述されている各パッケージがgemコマンドを使ってインストールされる。
Gemfileの記述例)
source "http://rubygems.org" gem "rails", "4.1.5" gem "sqlite3" gem "sass-rails", "~=> 4.0.3" :
・Rubyソフトウェアパッケージ(gem)のインストール先は、環境変数$GEM_HOME又は”gem environment”で確認できる。
※Bundlerの詳細は以下の記事参照。
Bundlerの概要、使用方法
●Ruby Version Manager(RVM)
・複数のRuby実行環境の導入、管理を容易に実施できるコマンドラインツール。
・複数のバージョンのRubyをシステム単位やユーザー単位にインストール、管理することができる。
・”rvm use ruby-2.x.x”などのコマンドを実行して、使用するRubyのバージョンを切り替えることができる。Rubyのバージョンを切り替えると、それに応じてgemのインストール先(環境変数$GEM_HOMEの値)やRubyのパスが切り替わる。
例)
$ rvm use ruby-2.0.0 Using /home/sample/.rvm/gems/ruby-2.0.0-p648 $ which ruby ~/.rvm/rubies/ruby-2.0.0-p648/bin/ruby $ echo $GEM_HOME /home/sample/.rvm/gems/ruby-2.0.0-p648
※詳細は以下の記事参照。
RVMを使ってRubyのインストール、複数のバージョンのRubyを管理