Help us understand the problem. What is going on with this article?

rbenv で ruby の環境を整える

More than 3 years have passed since last update.

忙しい人のためのまとめ

  1. インストール
    Macは brew install rbenv ruby-build でインストール。

    Ubuntuは

    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
    

    追記: 2016/09/29
    apt でインストールできるようになってました。当然ですが、git cloneでセットアップしたほうが、最新のものになります(Ref.)。

    apt install rbenv ruby-build
    
  2. .bash/zshrc ファイルに追加。

    [[ -d ~/.rbenv  ]] && \
      export PATH=${HOME}/.rbenv/bin:${PATH} && \
      eval "$(rbenv init -)"
    
  3. 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

.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 localrbenv globalがあり、localは特定のワークスペース(ディレクトリ)でrubyのバージョンを使用する場合に指定する。これは、そのディレクトリにある.ruby-versionファイルを書き換えて管理している。一方、globalはシステム全体で使用するバージョンを指定するコマンドである。基本的に使いたいバージョンをglobalで指定し、プロジェクトによってバージョンを変更したい場合はlocalで指定するのがよい。

rbenv global 2.2.2

また、rbenvでrubyをインストールしたり、gemでパッケージをインストールした後はrbenv rehashを実行しなければならなかった。実行することによって、指定したバージョンのrubygemコマンドが.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

References

dwango
Born in the net, Connected by the net.
https://dwango.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away