読者です 読者をやめる 読者になる 読者になる

Foreverly

メモ帳

CentOSにRuby2系をインストールした

ServerSpecを始めようとして、 ServerSpecにはRubyが必要なので、 Rubyのインストールからはじめました。

CentOS6系ではRuby2系でないとエラーが出てしまうので 今回はRuby2系のインストールをします。

まずはRubyがインストールをしているか確認します。

# ruby -v
-bash: ruby: コマンドが見つかりません

rbenvを使用してRubyをインストールします。 今回は/usr/local/src/配下にRubyをインストールします。

# cd /usr/local/src/

rbenvはGithubから提供されているのでgitをインストールします。

# yum install git

gitでGithubからrbenvをチェックアウトします。

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

次にruby-buildプラグインをrbenv/plugins/配下にインストールします。

# mkdir rbenv/plugins
# cd rbenv/plugins/
# git clone git://github.com/sstephenson/ruby-build.git

/etc/profile に以下の3行を追加して、rbenv を初期化&実行するための環境設定を行います

~/.rbenv/binにrbenvコマンドが入っているので、そこにパスを通します。 ※zsh使ってる場合は~/.bash_profileの代わりに~/.zshenvにして下さい。

rbenv initコマンドを呼び出すようにします。実際は~/.rbenv/libexec/rbenv-initのシェルを呼び出しているようです。

# echo 'export RBENV_ROOT="/usr/local/src/rbenv"' >> ~/.bash_profile
# echo 'export PATH="${RBENV_ROOT}/bin:${PATH}"' >> ~/.bash_profile
# echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
# test -r ~/.bashrc && . ~/.bashrc

test -r ~/.bashrc && . ~/.bashrcはbashrcが読み込まれなくなったら入れてみて下さい。

シェルを再起動して設定を反映させましょう。

# source ~/.bash_profile

パスが通ってることを確認します。

# echo $RBENV_ROOT
/usr/local/src/rbenv
# rbenv root
/usr/local/src/rbenv

必要になるモジュールをyum でインストールします

# yum install gcc make openssl-devel libffi-devel

rbenv でインストールできる Ruby のバージョン一覧を確認します。

# rbenv install -l

お好きなバージョンをインストールしてください。

# rbenv install 2.3.1

OSによっては以下のような実行結果(エラー)が出ました。

BUILD FAILED (CentOS release 6.x (Final) using ruby-build xxxxxxxxxxx)

以下のコマンドを実行して解決できました。

yum install -y readline-devel

Rubyのインストールを確認

# rbenv global 2.3.1
# ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]

他のバージョンをインストールしても以下のコマンドでデフォルトバージョンを変更できます。

# rbenv global バージョン名