rbenvはRubyのバージョンを管理してくれるので便利で、且つ一度設定すると、コマンドを打つ必要がなかったります。
おかげで、何か新しいことをやるたびに(サーバーを新しく構築したり、新しいRubyのバージョンを試したかったり)コマンドを調べなおしたりしてしまうので、まとめてみました。
環境
- OS CentOS 6.5
インストール
- root権限で行ってください
- OS上の全ユーザがrbenvを使えるようになることを前提としています。
- gitを使えるようにする
-
# yum install git
- rbenvをインストールするパスを設定する
-
/etc/profile.d/rbenv.sh
を以下の内容で作成する。rbenv.sh#! /bin/bash # rbenv用のパスを設定 export RBENV_ROOT="/usr/local/bin/rbenv"
# source /etc/profile.d/rbenv.sh
- rbenvをインストール
-
# git clone https://github.com/sstephenson/rbenv.git $RBENV_ROOT
- rbenvのビルドモジュールをインストール
-
# git clone https://github.com/sstephenson/rbenv-build.git $RBENV_ROOT/plugins/ruby-build
- パスを通す
-
/etc/profile.d/rbenv.sh
を以下の内容に修正する。rbenv.sh#! /bin/bash # rbenv用のパスを設定 export RBENV_ROOT="/usr/local/bin/rbenv" # パスを通す export PATH=[コピー先]/bin:$PATH # 初期設定を行う eval "$(rbenv init -)"
# source /etc/profile.d/rbenv.sh
rbenvを使ったRubyのインストール
- インストールするRubyのバージョンに必要なパッケージは事前にyum等で入れておいてください
- 古いバージョンのRubyを入れると、buildで失敗する場合があります。パッケージが足りないのか、原因等不明
インストールできるバージョンを調べる
# rbenv install --list
この時、入れたいバージョンが無い場合があります。
rbenvでは入れることができるバージョンはローカルに保持しています。
最新のバージョンがインストールできるか確認するには、最新のビルドバージョンを取得する必要があります。
最新のインストールできるバージョンを取得する
# cd $RBENV_ROOT/plugins/ruby-build
# git pull
僕の開発環境では、OSの起動時に最新のバージョンを取得するように設定しています。
/etc/profile
・・・
bash -c "cd $RBENV_ROOT/plugins/ruby-build; git pull"
ですが、アプリケーションサーバーなど、特定のバージョンのRubyで動いている環境であれば、この設定は必要ないと思います。
Rubyのインストール
# rbenv install バージョン
Rubyのバージョン指定方法
- OSレベルでのバージョン指定
-
# rbenv global [バージョン]
- ディレクトリレベルでのバージョン指定
-
# rbenv local [バージョン]
上記コマンドを実行すると、実行フォルダに.ruby-version
というファイルが作成され、その中にRubyのバージョンが記述されています。 Railsのプロジェクトなどの場合、プロジェクトのルートフォルダにこのファイルを作成し、共有しておけば、プロジェクト毎のRubyのバージョンを共有できます。 - シェルレベルでのバージョン指定
-
# rbenv shell [バージョン]
- 環境変数でのバージョン指定
-
# RBENV_VERSION=[バージョン]
Shellなどで、コマンド毎に実行するRubyのバージョンを変えたい場合に使います。
なお、rbenv shell
と同じ挙動になります。
(rbenv shell
を使うと、この環境変数にバージョンが設定されます。)
設定したバージョンを消したい場合(何も設定していない状態にしたい場合)は、--unset
オプションを指定すると、解除できます。
Rubyのアンインストール
# rbenv uninstall バージョン
コマンド
- インストールされているRubyのバージョン一覧
-
# rbenv versions