rbenv を CentOS 6.3 にインストール
Rails とか gitlab とか使ってみたかったので、手始めに rbenv をインストールすることにした。そのときのメモ。
rbenv とは
とりあえず説明。ruby をサーバーで利用するときに、バージョンの問題が出てくる。ruby の 1.8系と1.9系でも扱えるパッケージに差がでたりする。それを解決するのが rbenv。同じパッケージ管理ツールに rvm というものもあるが、今回は手軽らしい rbenv をインストールすることにする。ちなみに、rb(ruby)のenv(環境)っていう名前っぽい。恥ずかしながら、この文字の羅列は覚えられなかったけど、意味がわかって間違えなくなった。
インストール
※これらの作業は全部 root でやった。
とりあえず epel と remi レポジトリをいれる。
# cd /usr/local/src/ # rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
remi レポはデフォルトで enabled=0 になっているので、1にする。
# vim /etc/yum.repos.d/remi.repo
んで、適当に tmux と git をインストールする。
# yum -y install tmux git
他、ruby のビルドに必要なパッケージをインストールする。
# yum -y install gcc
rbenv のインストール。
# cd /usr/local/ # git clone https://github.com/sstephenson/rbenv.git # mkdir rbenv/shims rbenv/versions # groupadd rbenv # chgrp -R rbenv rbenv # chmod -R g+rwxXs rbenv
ruby-build のインストール。
# cd /usr/local/src/ # git clone https://github.com/sstephenson/ruby-build.git # cd ruby-build # ./install.sh
環境変数を通す(全ユーザーに適用する)。下記のコードを /etc/profile.d/rbenv.sh に書く。
export RBENV_ROOT="/usr/local/rbenv" export PATH="/usr/local/rbenv/bin:$PATH" eval "$(rbenv init -)"
このへんはもっと詳しく書いている人がいるので、もう少し詳しく知りたい人はそちらへ。
全ユーザーで共通のrbenv+ruby-buildを使用する環境を構築する - 一分一秒真剣勝負!
そして visudo で sudo したときでも PATH を引き継ぐようにしておく。
# visudo
こんな感じのブロックを探して
Defaults env_reset Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS" Defaults env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE" Defaults env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES" Defaults env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE" Defaults env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
下記の1行を追加する。
Defaults env_keep += "PATH"
rubyの設定
いったん環境整えたら、再ログインして環境がロードされるか確認しておく。
# which rbenv
とかして、rbenv が使えるようになってればOK。
現在使える ruby は、下記のコマンドで一覧される。
# rbenv versions
今インストールしたばかりなので、もちろん何も出ない。
なので、ruby をインストールする。インストール可能なバージョンの一覧は下記のコマンドを実行する。
# rbenv install -l
2012/10/27 時点では下記が有効になってる。
Available versions: 1.8.6-p383 1.8.6-p420 1.8.7-p249 1.8.7-p302 1.8.7-p334 1.8.7-p352 1.8.7-p357 1.8.7-p358 1.8.7-p370 1.9.1-p378 1.9.2-p180 1.9.2-p290 1.9.2-p318 1.9.2-p320 1.9.3-dev 1.9.3-p0 1.9.3-p125 1.9.3-p194 1.9.3-p286 1.9.3-preview1 1.9.3-rc1 2.0.0-dev jruby-1.5.6 jruby-1.6.3 jruby-1.6.4 jruby-1.6.5 jruby-1.6.5.1 jruby-1.6.6 jruby-1.6.7 jruby-1.6.7.2 jruby-1.6.8 jruby-1.7.0 jruby-1.7.0-preview1 jruby-1.7.0-preview2 jruby-1.7.0-rc1 jruby-1.7.0-rc2 maglev-1.0.0 maglev-1.1.0-dev rbx-1.2.4 rbx-2.0.0-dev ree-1.8.6-2009.06 ree-1.8.7-2009.09 ree-1.8.7-2009.10 ree-1.8.7-2010.01 ree-1.8.7-2010.02 ree-1.8.7-2011.03 ree-1.8.7-2011.12 ree-1.8.7-2012.01 ree-1.8.7-2012.02
この中から stable の一番新しいのをインストールする。今回は 1.9.3-p286。
インストールは下記のコマンドを実行する。
# rbenv install 1.9.3-p286
インストールしたら、デフォルトでこのバージョンを使うように設定する。
# rbenv global 1.9.3-p286 # rbenv rehash
一応 ruby のバージョンを確認する。
# ruby -v ruby 1.9.3p286 (2012-10-12 revision 37165) [x86_64-linux]
アップデートとかをする場合には、ruby-build のソースコードを git pull で更新して、install.sh を実行し、rbenv install をして、global で設定する。