この記事のサマリ
rubyを利用する際に、いろいろなバージョンを切り替えてお試しできるrbenvが非常に便利なので、vagrantで構築するsandbox環境でrbenvをセットアップするスクリプトを紹介します。
対象読者
いろんなバージョンのRubyをお手軽に試してみたい方
動作確認バージョン
vagrant version
の結果
Installed Version: 1.7.4
経緯
rubyの勉強するのに、rbenvがオススメと聞いたので。
rbenvを使ったRuby環境をセットアップする(centos)
Rubyを実行する上で、当然Ruby本体のインストールが必要なのですが、Ruby自体のバージョンや、実装方法(CRubyやJRubyなどなど)が存在するため、単にRubyのインストールを行っても、バージョン依存でうまく動かなかったりすることがあります。
そんな時、このrbenvというパッケージが役に立ちます。このrbenvを利用することで複数のRubyのバージョンをインストールすることができ、容易にバージョンを切り替えることができるようになります。
Rubyであれこれ実験する時用に、Vagrantにrbenv&Ruby 2.1.2のインストールさせましたので、Tipsとして残しておきます。
Vagrant::Config.run do |config|
config.vm.box = "centos64_6_5"
config.vm.box_url = "http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-6.5_chef-provisionerless.box"
config.vm.provision "shell", path: "setup_rbenv.sh"
end
#!/bin/bash
RBENV_INSTALL_DEST_DIR=/usr/local/rbenv
COMMON_BASH_SETTING_FILE=/etc/profile
echo "install gcc..."
sudo yum -y install gcc
echo "install openssl-devel..."
sudo yum -y install openssl-devel
echo "instal readline-devel..."
sudo yum install -y readline-devel
which git
if [ $? -ne 0 ]
then
echo "install git..."
sudo yum -y install git
fi
echo "download rbenv..."
sudo git clone https://github.com/sstephenson/rbenv.git ${RBENV_INSTALL_DEST_DIR}
# add rbenv path To $PATH
echo "append rbenv path info To ${COMMON_BASH_SETTING_FILE}..."
echo "export RBENV_ROOT=\"${RBENV_INSTALL_DEST_DIR}\"" >> ${COMMON_BASH_SETTING_FILE}
echo 'export PATH="${RBENV_ROOT}/bin:$PATH"' >> ${COMMON_BASH_SETTING_FILE}
echo 'eval "$(rbenv init -)"' >> ${COMMON_BASH_SETTING_FILE}
# ${COMMON_BASH_SETTING_FILE} reload
echo "${COMMON_BASH_SETTING_FILE} reload"
source ${COMMON_BASH_SETTING_FILE}
echo "download rbenv plugin(ruby-build)..."
git clone https://github.com/sstephenson/ruby-build.git ${RBENV_INSTALL_DEST_DIR}/plugins/ruby-build
# install ruby
echo "ruby install..."
rbenv install -v 2.1.2
rbenv global 2.1.2
rbenv rehash
# set rbenv owner
chown -R vagrant:vagrant ${RBENV_INSTALL_DEST_DIR}
rootユーザでもvagrantユーザでも利用できるように、/usr/local/rbenvにrbenvのインストールを行い、/etc/profileにパスの設定を記述しています。
また、rbenvのownerは、vagratユーザにしています。