rbenv+ruby-buildをインストールする手順 (CentOS/RedHat)

投稿者 : OSCA

[PR] "東野・岡村の旅猿"で登場したロケ地を紹介するファンサイト「あの場所へ行こう!」はこちら。

 本稿では CentOS/RedHat に rbenv と ruby-build プラグインをインストールする手順について説明します。

「そもそも、Ruby を CentOS/RedHat にインストールする方法ってどんなのがあるの?」という方は、別記事「RubyをCentOS/RedHatにインストールする4つの方法‎」を御覧ください。

事前準備

 rbenv は GitHub 上で開発/配布されているオープンソース・ソフトウェアです。 最新の rbenv を GitHub から取得するために、CentOS/RedHat に Git をインストールしておく必要があります。 (もし Git の知識に自信がないけど rbenv を利用したい方は zip 形式でもダウンロードできますが、公式でアナウンスされているインストール手順ではない点を留意してください。)

 CentOS/RedHat にインストールする Git のバージョンにこだわらないのであれば、つぎのように yum でインストールしてしまうのが手軽です。

# yum install git
# git --version
git version 1.8.3.1

rbenv をインストールする前に考えないといけないこと

 rbenv をインストールする前に考えるべきことは「どのユーザーが Ruby を利用するのか」「どこに Ruby をインストールするのか」です。

 rbenv 公式ページに書かれているインストール方法は Linux ユーザーの1ユーザーのホームディレクトリ内にインストールする方法なので、もしLinux 上の複数のユーザーが Ruby を使いたいようあればそれだけインストール作業が必要になってしまいます。

 サーバー用途などでどのユーザーからも Ruby が利用できるよう(“システムワイド”というらしいです)にしたいのであれば、 /opt の配下にインストールするなどして rbenv を導入した方が良さそうです。

以下では、それぞれの方法について説明したいと思います。

(方法1) rbenv を特定のユーザー用にインストールする場合

 GitHub から rbenv を ~/.rbenv (ホームディレクトリ直下の .rbenv フォルダ) にダウンロード (clone) します。

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
Cloning into '/home/vagrant/.rbenv'...
remote: Counting objects: 2314, done.
remote: Total 2314 (delta 0), reused 0 (delta 0), pack-reused 2314
Receiving objects: 100% (2314/2314), 408.29 KiB | 352.00 KiB/s, done.
Resolving deltas: 100% (1445/1445), done.

 ※ZIP形式で rbenv を入手される方はこちらから入手できます。 ダウンロードしたZIPを ~/.rbenv に解凍します。

 インストールした rbenv のコマンドラインツールを利用できるように、環境変数 $PATH に ~/.rbenv/bin を追加します。 ~/.bash_profile に export PATH の行を追記します。

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile

 ターミナル起動時に “rbenv init” を実行するように、.bash_profile に実行コマンドを追記します。

$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

 以上の2つのコマンドで .bash_profile ファイルの最後に、以下の2行が追記されたと思います。 確認してみてください。

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

 以上でインストールは終了です。 ターミナルの起動スクリプトに色々と追記した為、起動スクリプトを読み込み直すために、一度ターミナルを落として再度ターミナルを立ち上げ直します。 そして、正しくインストールできたかを確かめましょう。

$ rbenv
rbenv 0.4.0-212-g20755cf
usage: rbenv <command> [<args>]
(以下略)ƒ

 rbenv 0.4.0 がインストールされたことが確認できました。 次は ruby-build をインストールします。

 ruby-build は rbenv のプラグインです。 rbenv をインストールしたディレクトリ内の plugins フォルダ内にインストールします。 ruby-build は rbenv 同様に Git で開発/配布されていますので、git clone で取得します。

$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
Cloning into '/home/vagrant/.rbenv/plugins/ruby-build'...
remote: Counting objects: 5222, done.
remote: Compressing objects: 100% (30/30), done.
remote: Total 5222 (delta 10), reused 0 (delta 0), pack-reused 5191
Receiving objects: 100% (5222/5222), 976.24 KiB | 440.00 KiB/s, done.
Resolving deltas: 100% (2873/2873), done.

(方法2) rbenv をシステムワイドにインストールする場合

 次に rbenv をシステムワイドにインストールする方法です。 ここでは /opt に rbenv をインストールします。 基本的なインストールの考え方は (方法1) と変わりません。

 GitHub から rbenv を /opt にダウンロード (clone) します。

# cd /opt
# git clone git://github.com/sstephenson/rbenv.git

 /etc/profile に rbenv へパスを通す設定と初期化を行うための行を追記します。

# echo 'export RBENV_ROOT="/opt/rbenv"' >> /etc/profile
# echo 'export PATH="${RBENV_ROOT}/bin:${PATH}"' >> /etc/profile
# echo 'eval "$(rbenv init -)"' >> /etc/profile

 ruby-build プラグインを rbenv をインストールしたディレクトリ内の plugins フォルダにインストールします。

# mkdir /opt/rbenv/plugins
# cd /opt/rbenv/plugins
# git clone git://github.com/sstephenson/ruby-build.git
Cloning into 'ruby-build'...
remote: Counting objects: 5222, done.
remote: Compressing objects: 100% (30/30), done.
remote: Total 5222 (delta 10), reused 0 (delta 0), pack-reused 5191
Receiving objects: 100% (5222/5222), 976.24 KiB | 258.00 KiB/s, done.
Resolving deltas: 100% (2873/2873), done.

おわりに

 本稿では rbenv + ruby-build のインストール方法について解説しました。 次回は CentOS/RedHat に rbenv+ruby-build を利用して Ruby をインストールしてみたいと思います。 引き続き次稿もご覧ください。

RubyをCentOS/RedHatにrbenv+ruby-buildを利用してインストールする手順
http://weblabo.oscasierra.net/rbenv-install-ruby-to-redhat-1/

Ruby環境構築入門へ戻る

更新履歴

  • 2013年12月23日 – 初稿を執筆しました。
  • 2014年08月01日 – 記事を最新化し、方法2のインストール先を /usr/local から /opt に変更しました。
  • 2015年12月12日 – わかりづらい表現を修正し、情報を最新化しました。

Rubyのトップへ戻る

著者 : OSCA

OSCA

Java, PHP 系のWEBエンジニア。 WEBエンジニア向けコミュニティ「WEBエンジニア勉強会」を主催。 個人として何か一つでも世の中の多くの人に使ってもらえるものを作ろうと日々奮闘中。
@engineer_osca