rbenv について
rbenv でバージョン管理すると
Ruby のバージョンをrbenv global [version]
切り替えられるようになる。
rbenv └ system └ 2.2.0 └ 2.2.2 ...
gem が各バージョンのRubyにそれぞれ個別にインストールされる。
rbenv └ system └ gem list #1 └ 2.2.0 └ gem list #2 └ 2.2.2 ...
上の図の例でインストールされているgem を確認してみると
(#1) rbenv global system
でsystem のRubyに切り替えた際にインストールされているgem
% gem list [2:31:10] *** LOCAL GEMS *** bigdecimal (1.2.0) bundler (1.10.6) CFPropertyList (2.2.8) i18n (0.7.0) io-console (0.4.2) json (1.7.7) jwt (1.5.1) libxml-ruby (2.6.0) mini_portile (0.6.2) minitest (4.3.2) psych (2.0.0) rake (0.9.6) rdoc (4.0.0) sqlite3 (1.3.7) test-unit (2.0.0.0)
(#2) rbenv global 2.2.0
で version 2.2.0 のRubyに切り替えた際にインストールされているgem
% gem list [1:29:38] *** LOCAL GEMS *** bigdecimal (1.2.6) bundler (1.10.6) io-console (0.4.3) json (1.8.1) minitest (5.4.3) power_assert (0.2.2) psych (2.0.8) rake (10.4.2) rdoc (4.2.0) test-unit (3.0.8)
は(違うgemがインストールされていれば)違うものになる。
このことを忘れていると、意図しないgem をインストールしてしまったり、思わぬ依存関係のエラーに遭遇したりするので気をつけよう。