CentOSにrbenvをインストールする方法

スポンサーリンク

CentOSにrbenvをインストールして使用する方法をまとめました。Mac編は  Ruby開発環境の準備+rbenvの使い方 を参照してください。

rbenvのインストール

まずは必要なパッケージのインストールからです。gitはyumでもいいですが、最新版を入れたい方は  CentOSに最新版のGitをインストール・アップデートする方法 を参照。

$ yum install -y git gcc gcc-c++ openssl-devel readline-devel

rbenvはインストールといってもリポジトリを clone するだけです。後はパスの設定とrbenv initを起動時に実行するように、使用してるシェルに合わせて~/.bash_profileなどに書き込みます。

 sstephenson/rbenv · GitHub

$ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l
$ rbenv -v
rbenv 0.4.0-151-g83ac0fb

しかし、上記の方法はREADMEに書かれている通りですが、~/.bash_profileに設定を書き込んでしまうと実行ユーザーしか読み込んでくれません。

[vagrant@localhost ~]$ rbenv -v
rbenv 0.4.0-151-g83ac0fb
[vagrant@localhost ~]$ sudo su -
[root@localhost ~]# rbenv -v
-bash: rbenv: コマンドが見つかりません

そのため、Linuxの場合は全ユーザーに読み込まれる/etc/profile.d/以下に作成する方がいいです。clone する場所も変えたいと思います。以下、root で実行していきます。

$ sudo su -
$ git clone git://github.com/sstephenson/rbenv.git /usr/local/src/rbenv
$ echo 'export RBENV_ROOT="/usr/local/src/rbenv"' >> /etc/profile.d/rbenv.sh
$ echo 'export PATH="${RBENV_ROOT}/bin:${PATH}"' >> /etc/profile.d/rbenv.sh
$ echo 'eval "$(rbenv init -)"' >> /etc/profile.d/rbenv.sh
$ source /etc/profile.d/rbenv.sh
$ rbenv -v
rbenv 0.4.0-151-g83ac0fb
$ su - vagrant
$ rbenv -v
rbenv 0.4.0-151-g83ac0fb

ruby-buildのインストール

rbenvだけではrubyのインストールが出来ません。ruby-build を rbenv の plugins 以下にインストールすることでrbenv installコマンドが使用できるようになります。

 sstephenson/ruby-build · GitHub

$ git clone git://github.com/sstephenson/ruby-build.git /usr/local/src/rbenv/plugins/ruby-build

ruby-build/binに追加されたコマンドが使用できるようになりました。

$ ls /usr/local/src/rbenv/plugins/ruby-build/bin/
rbenv-install  rbenv-uninstall  ruby-build

Rubyのインストール

以上でRubyをインストールできる環境が整いました。

$ rbenv install 2.2.2
$ rbenv global 2.2.2
$ ruby -v
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]

RubyのバージョンによってはGemが古い場合があるので更新をして bundler だけ入れておきましょう。

$ gem -v
2.4.5
$ gem update --system
$ gem -v
2.4.8
$ gem install bundler

ちなみにrbenv rehashは不要になりました。Mac用として書きましたが以下の記事も参考に。

関連記事

 rbenvのよく使うコマンドまとめ - TASK NOTES

 rbenvのあまり使わないコマンドまとめ - TASK NOTES

 【Ruby】bundlerの使い方 (Gem管理) - TASK NOTES

 【Mac】Ruby on Railsの環境構築とbundlerについて - TASK NOTES

 【Ruby】Gemコマンドの使い方まとめ - TASK NOTES