rbenv

rbenvとは

rbenvとは、Sam Stephenson(37signals)氏が作成したRubyバージョン管理ツールです。

例えば、普段はRuby2.3.0を使っているが急遽Ruby1.8.7を使わなければならない時など、プロジェクトごとにRubyのバージョンをrbenvで切り替えることができます。


Rubyバージョン管理ツールとして有名なRVM(RubyVersionManager)と比べて、rbenvは少ない機能で軽快に動作する特徴があります。

ただし、サポートしているRubyの種類がRVMより少ないことが欠点です。


また、rbenv本体にはRubyのビルド機能は用意されていないため、別途ruby-buildというツールを利用します。


rbenvをインストールする

RVMの削除

競合が発生する場合がありますので、rvmを削除します。

rvmがインストールされていなければ実行の必要はありません。


$ rvm implode

rbenvの取得

rbenvをgitから取得します。

ここでは、保存先はユーザのホームディレクトリとします。


$ cd
$ git clone git://github.com/sstephenson/rbenv.git .rbenv

ruby-buildをインストールする

バージョン管理を効率的にするために、ruby-buildをインストールします。


$ git clone git://github.com/sstephenson/ruby-build.git
$ cd ruby-build
$ ./install.sh

パスを設定する

rbenvコマンドへのパスを環境変数に設定しておきます。

「.bash_profile」または「.bashrc」に記載することが一般的です。


$ export PATH="$HOME/.rbenv/bin:$PATH"

Rubyのインストール

インストール可能なRubyのバージョンをリスト表示するには以下のコマンドを実行する。


$ rbenv install --list

Rubyのインストール

任意のバージョンを導入します。


$ rbenv install 2.3.0
$ rbenv rehash

なお、railsなどコマンドが付属されるgemをインストールした場合、rbenvを更新する必要があります。

「rbenv rehash」コマンドでrbenvの「~/.rbenv/shims/」以下のファイルを更新します。


Rubyのアンインストール

バージョンを指定してアンインストールします。


$ rbenv uninstall 2.1.5

Ruby バージョンの設定

Ruby のバージョン確認

インストール済み Ruby のバージョンがリスト表示されます。

カレントディレクトリで有効な Ruby バージョンにはアスタリスク( * )が表示されます。


$ rbenv versions

Ruby バージョンの選択

デフォルトで使うRubyのバージョンを指定するには「rbenv global <version>」を使用します。


$ rbenv global 2.3.0
$ rbenv rehash

特定ディレクトリのみのバージョン指定方法について

環境毎にバージョンを使い分ける場合には、任意のディレクトリを作成して「rbenv local <version>」コマンドを実行します。


$ rbenv local 1.8.7

その他

rbenv, ruby-build の更新

利用したいRubyバージョンがリストに表示されない場合は ruby-build を更新します。


$ cd ~/.rbenv
$ git pull
$ cd ~/.rbenv/plugins/ruby-build
$ git pull

rbenv利用時にruby -vで古いバージョンのRubyが呼ばれる場合の対処

環境変数(PATH)の設定ミスが原因です。

まず、rubyのパスどのように設定されているか確認してみます。

以下のように表示されれば、rbenv で入れた ruby ではなくて、システムのデフォルトの Ruby が使われている状態です。


$ which ruby
/usr/bin/ruby

.bash_profileに以下を記載します。


eval "$(rbenv init -)"

.bashrcに以下を記載します。


export PATH=$HOME/.rbenv/bin:$PATH

その後、.bash_profileの変更を反映するとパスが変更されます。


$source ~/.bash_profile
$ which ruby
/home/user11/.rbenv/shims/ruby

関連ページ