rbenv で ruby の環境を整える
忙しい人のためのまとめ
インストール
Macは
brew install rbenv ruby-build
でインストール。git clone https://github.com/sstephenson/rbenv.git ~/.rbenv git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build apt-get install -y autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev
.bash/zshrc ファイルに追加。
[[ -d ~/.rbenv ]] && \ export PATH=${HOME}/.rbenv/bin:${PATH} && \ eval "$(rbenv init -)"
rubyのインストール
rbenv install 2.2.2 rbenv global 2.2.2 ruby -v
rbenvのインストール
GitHub: sstephenson/rbenvに書いてある通りインストールする 。また、rubyをインストールするためのプラグインである、ruby-buildもインストールする。ruby-buildとrbenvの関係については「rbenv + ruby-build はどうやって動いているのか」を参照。
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
また、ruby-buildの``Suggested build environment''に必要な環境が記述されているので、各システムにあった方法を参照しインストールする。
今回はUbuntuなので下記のコマンドでインストールする。
apt-get install -y autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev
Macは brew install rbenv でインストール。
.bashrc
、.zshrc
もしくは.zshenv
等に下記を追加し、パスを通す。
[[ -d ~/.rbenv ]] && \ export PATH=${HOME}/.rbenv/bin:${PATH} && \ eval "$(rbenv init -)"
rubyのインストール
rbenv install -l
でインストール可能なrubyのバージョンが一覧される。特定のバージョンをインストールするコマンドはつぎのようになる。
rbenv install 2.2.2
rubyのインストールが完了したら、利用するrubyのバージョンを指定する。
指定方法はrbenv local
とrbenv global
があり、localは特定のワークスペース(ディレクトリ)でrubyのバージョンを使用する場合に指定する。これは、そのディレクトリにある.ruby-version
ファイルを書き換えて管理している。一方、globalはシステム全体で使用するバージョンを指定するコマンドである。基本的に使いたいバージョンをglobalで指定し、プロジェクトによってバージョンを変更したい場合はlocalで指定するのがよい。
rbenv global 2.2.2
また、rbenvでrubyをインストールしたり、gemでパッケージをインストールした後はrbenv rehash
を実行しなければならなかった。実行することによって、指定したバージョンのruby
やgem
コマンドが.rbenv/shims
に配置される。現在はrbenv本体に取り込まれたため不要である(sstephenson/rbenv/pull/638)。
最後に、指定したバージョンのruby
にパスが通っているか確認しておこう。
$ ruby -v ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux] $ which ruby ~/.rbenv/shims/ruby $ which gem ~/.rbenv/shims/gem
Errors
The Ruby openssl extension was not compiled. Missing the OpenSSL lib?
Downloading ruby-2.2.2.tar.gz... -> http://dqw8nmjcqpjn7.cloudfront.net/5ffc0f317e429e6b29d4a98ac521c3ce65481bfd22a8cf845fa02a7b113d9b44 Installing ruby-2.2.2... BUILD FAILED (Ubuntu 14.04 using ruby-build 20150519-3-ge932d47) Inspect or clean up the working tree at /tmp/ruby-build.20150529121544.8737 Results logged to /tmp/ruby-build.20150529121544.8737.log Last 10 log lines: rake 10.4.2 rdoc 4.2.0 skip installing bundle gems because of lacking zlib ... The Ruby openssl extension was not compiled. Missing the OpenSSL lib?
opensslのなにかが不足してるっぽいのでインストールする。 ruby-buildの``Suggested build environment''に必要な環境が記述されていた。
apt-get install -y autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev