[ruby-build]rubyのバージョンを切り替えて使う

rubyのアプリも多くなってきていますが、バージョン依存のアプリも少なくないため、複数のシステムを入れているサーバーだと動作させるのが難しいことがあります。
ruby-buildはその問題を解決するためのツールになります。
※CentOS6の場合

インストール

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
git clone git://github.com/sstephenson/ruby-build.git /usr/local/src/rbenv/plugins/ruby-build
rbenv-install  rbenv-uninstall  ruby-build

インストール可能なバージョンを調べる

#rbenv install -l

#バージョンのインストール

#rbenv install 1.9.3-p484

インストール済みバージョンの取得

#rbenv versions

指定のバージョンをインストールする

# rbenv global 1.9.3-p484

global だと環境全体、 local とするとそのフォルダだけの環境になります。
ruby -v コマンドでバージョンを確認してみましょう。
もしうまくいっていない場合は

# rbenv rehash

で直る場合があるようです。コンソールログインもし直したほうがいいかもしれません。
直らない場合は環境変数を見直す必要がありそうです。

ソースからのインストールで、依存関係がぐちゃぐちゃになってしまったシステムがあったのですが、これで何とか動くようになりました。

rubyは環境依存がひどすぎるような気がします。まぁ、正確にはパッケージが悪いんだと思いますが、なんにせよバージョンアップすると動かなくなるというようなことが多いので使いにくいと感じます。
PHPも昔ひどかったですが、ここまでではなかったと思います。

まあ、だからこそrbenvのようなアプリができたのでしょう。

タイトルとURLをコピーしました