Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

rbenvのインストールと、バージョン指定

More than 5 years have passed since last update.

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を使うと、この環境変数にバージョンが設定されます。)

なお、それぞれの優先順位ですが、
シェルレベル > ディレクトリレベル > OSレベル
となります

設定したバージョンを消したい場合(何も設定していない状態にしたい場合)は、--unsetオプションを指定すると、解除できます。

Rubyのアンインストール

# rbenv uninstall バージョン

コマンド

インストールされているRubyのバージョン一覧
# rbenv versions
takaki_k
事務系のWEBアプリ開発を長年やってきたのですが、一念発起して農業に転向しました。 これからIT化が進んでいく業界ではあるので、今までの知識、技術が(ぼちぼちと)活かされています。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away