rbenv のインストール

複数バージョンのRubyの使い分けを支援する rbenv のインストール。 sstephenson/rbenv · GitHub

ここでは Linux に一般アカウント(bashを利用する環境)で導入。

事前準備

事前に以下のパッケージは導入しておく。

  • git
  • gcc
  • make
  • libssl-dev (CentOS6 の場合は openssl-devel/openssl-static)

インストール

bash

# rbenv インストール
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
bash -l

# ruby-build をインストール
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

rbenv install -l # インストール可能なバージョンを確認

# Ruby (2.0.0-p247) を ndenv を利用してインストール
rbenv install 2.0.0-p247
rbenv global 2.0.0-p247
rbenv rehash

# 確認
ruby -v

他のバージョンのrubyをrbenv経由でインストール

rbenv install -l # インストール可能なバージョンを確認
rbenv install 2.1.3
rbenv rehash

# 利用する ruby を 2.1.3 へ切り替える
rbenv global 2.1.3
rbenv rehash

# 確認
ruby -v
rbenv versions

gemパッケージのインストール

gem install HOGE
rbenv rehash

gemのその他のコマンド

# インストール済みのgemパッケージを表示
gem list
 
# gemパッケージを削除
gem uninstall HOGE
rbenv rehash

備考

コンパイル中に発生するエラーへの対応

コンパイル中に以下のようなエラーが発生することがある

rbenv install 1.9.2-p326

Downloading yaml-0.1.6.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749
Installing yaml-0.1.6...
Installed yaml-0.1.6 to /home/techconf/.rbenv/versions/1.9.2-p326
Checking out http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_2...
Installing ruby-1.9.2-p326...
BUILD FAILED
Inspect or clean up the working tree at /tmp/ruby-build.20140710140825.19636
Results logged to /tmp/ruby-build.20140710140825.19636.log
Last 10 log lines:
ossl_pkey_ec.c: In function ‘ossl_ec_group_initialize’:
ossl_pkey_ec.c:765: warning: assignment makes pointer from integer without a cast
ossl_pkey_ec.c:819: error: ‘EC_GROUP_new_curve_GF2m’ undeclared (first use in this function)
ossl_pkey_ec.c:819: error: (Each undeclared identifier is reported only once
ossl_pkey_ec.c:819: error: for each function it appears in.)
ossl_pkey_ec.c: In function ‘ossl_ec_group_set_seed’:
ossl_pkey_ec.c:1114: warning: comparison between signed and unsigned integer expressions
make[1]: *** [ossl_pkey_ec.o] Error 1
make[1]: Leaving directory `/tmp/ruby-build.20140710140825.19636/ruby-1.9.2-p326/ext/openssl'
make: *** [mkmain.sh] Error 1
curl -fsSL https://github.com/ruby/ruby/commit/1e7a929c1d44d7a368fbe379211183ac6c972920.patch | \
  rbenv install --patch 1.9.3-p484