LoginSignup
76
73

More than 5 years have passed since last update.

rbenvでrubyのバージョン管理をする

Last updated at Posted at 2014-07-26

もう今更感満載ですが。

Rubyのバージョン管理

Rubyのバージョン管理システムは代表的なものでrvmとrbenvの2つあり、
最近ではrbenvがデファクトスタンダードになっている。

ここでは一応両方の特徴を解説。

(2014/07/27追記)
@riocampos さんにご指摘頂きました。
irbやpryで日本語やUnicode文字列を扱う際は環境変数にreadlineのオプションを設定する必要があるみたいです。
詳しくは以下で。
http://d.hatena.ne.jp/riocampos+tech/touch/20140408/ruby_reinstall_caused_by_openssl_vulnerability

rvm

https://rvm.io/
https://github.com/wayneeseguin/rvm

特徴

  • homebrewでのインストールが可能
  • 複数のRubyのバージョンを管理可能
  • gemsetというgemの管理が可能
  • シェルコマンドを書き換えるので色々な影響範囲が大きい
  • .rvmrcというファイルを設定することで当該ディレクトリで使用するRubyのバージョンを指定することができる

rbenv

特徴

  • homebrewでのインストールが可能
  • 開発コミュニティが活発
  • ruby-buildというプラグインを利用することで開発バージョンのRubyも利用が可能
  • PATHを設定するだけで利用することが可能

rbenvでのRubyのバージョン管理

rbenvのインストール

gitでのインストール

# gitからcloneでインストール
$ git clone git@github.com:sstephenson/rbenv.git ~/.rbenv

# プラグインインストール用のディレクトリ作成
$ mkdir ~/.rbenv/plugins

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

# PATHの設定
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

※ PATHの設定で.bash_profileの部分については使用しているshellに応じて適宜変えて下さい。

homebrewでのインストール

$ brew install rbenv
$ gem install rbenv-rehash

rbenvでのRubyのインストール

ここでは最新の安定バージョンである2.1.2をインストールします。

# インストール可能なRubyの一覧を表示
$ rbenv install -l

# Ruby 2.1.2のインストール
$ rbenv install 2.1.2

# インストールされているRubyの確認
$ rbenv versions

rbenvでインストールしたRubyの管理

全体で使うRubyのバージョンを設定

$ rbenv global 2.1.2

# インストールされているRubyの確認
$ rbenv versions

カレントディレクトリで使うRubyのバージョンを設定

$ rbenv local 2.1.2

# インストールされているRubyの確認
$ rbenv versions

rbenv rehashの手間を減らす

rbenvでインストールしたRubyのgemをインストールをした後にrbenv rehashをする必要がありますが、
面倒なので下記で手間を減らすことが可能です。

rbenvでのRubyのアンインストール

$ rbenv uninstall 2.1.2

rbenv自体のアンインストール

$ rm -rf ~/.rbenv
$ rm -rf /usr/local/bin/rbenv
$ rm -rf /usr/local/Cellar/rbenv

.bash_profile等でPATHを設定した部分も削除して下さい

76
73
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
76
73