LoginSignup
68
75

More than 5 years have passed since last update.

rbenvとは?(rbenvを利用したRubyのインストール)

Last updated at Posted at 2016-07-07

前回 ”RVMとは?” という内容を記録しましたが、今回はrbenvについて説明させていただきます。

rbenvとは?

Simple Ruby Version Management: rbenv

rbenv lets you easily switch between multiple versions of Ruby. It's simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do one thing well.

もっとsimpleなRVMという意味か、、?
とりあえずどんな特徴があるか見てみます。

rbenvの特徴

○ Rubyの本体に付属していない
○ Ruby on Railsの開発者が入る37signalsが作った。
○ rvmをよりシンプルにしたRuby自体のバージョン切り替え
○ rvmより動作が軽い
○ Do 1 ユーザー権限ごとにバージョンを切り替え(システム全体には影響しない)
○ Do 2 プロゼックトごとに合わせた、Rubyバージョンのサポート
○ Do 3 そのため開発する際, Rubyバージョンに合わせた環境変数を用意する。

rvmとrbenvの違い

○ shellのロード
代わりにrbenvのアプローチは$PATHに対しディレクトリを追加します。
○ shell commandの上書き
cdコマンドを上書きする事は、危険なエラーが発生しやすいです。
○ 設定ウァイルを持つこと
rbenvでは使用したいRubyのバージョン以外は設定する必要はありません
○ Rubyのインストール
rbenvでは自分自身でRubyをコンパイル&インストールするか、またはruby-buildを使って自動インストールができます。
○ gemsetsの管理
RVMと違いgemは管理しません。 Bundlerは依存関係を管理するための良い方法です。 まだ利用していなければrbenv-gamesプラグインをインストールできます。
○ プロゼックトを切り替えた時のエラー警告表示
rbenvでは各プロゼックトごとにバージョン名を読み取りますので簡単です。

また、railsの公式ウェブサイトではrbenvを利用してRubyをインストールする事をオススメしています。
(railsを作ったDHHもrbenvを使用している。。。という話も。。ありますね。。)

rbenvを利用したRubyのインストール

Linux環境でRubyのバージョン管理をサポートするrbenvをインストールしてみましょう

$ git clone git://github.com/sstephenson/rbenv.git .rbenv

コマンドプロンプトでrbenvを実行できるようにshell環境変数を修正します。
.bashrcファイルを読めるようにエディターを開けて .bash_profileに次のように追加します。

[ -f "$HOME/.profile" ] && source "$HOME/.profile"
[ -f "$HOME/.bashrc" ] && source "$HOME/.bashrc"

.bashrcの内容は次のように作成します。rbenvが保存されているディレクトリをRBENV_ROOT環境変数にrbenv実行ファイルが入っているディレクトリをPATHに追加します。
shellを実行するたびにrbenv init - コマンドを実行します。

export RBENV_ROOT="${HOME}/.rbenv"
if [ -d "${RBENV_ROOT}" ]; then
  export PATH="${RBENV_ROOT}/bin:${PATH}"
  eval "$(rbenv init -)"
fi

Rubyをインストールするためにはrbenvのプラグインruby-buildが必要です。
.rbenv/plugins ディレクトリを作ってgithubからruby-buildをダウンロードします。

$ mkdir -p ~/.rbenv/plugins
$ cd ~/.rbenv/plugins
$ git clone git://github.com/sstephenson/ruby-build.git

install オプションを利用してRubyをインストールしてみましょう。
2.3.1を基準でインストールしました。

$ rbenv install 2.3.1

rehashオプションは新しい環境を再設定するオプションで新しくRubyをインストールしたりgemをインストールした後で実行しなきゃいけないです。

$ rbenv rehash

global オプションはシステムで該当Rubyを使うために使用します。

$ rbenv global 2.0.0-p451

欲しかったバージョンがちゃんとインストールされたか確認しましょう。

$ ruby -v

インストールが終わったらgemを管理するた目にbundlerをインストールします。
新しい環境を再設定するためrehashを忘れないでください。

$ gem install bundler
$ rbenv rehash

ETC

rbenv-gem-rehashをインストールすると、毎回 rbenv rehashコマンドを実行しなくていいです。

参考ページ

https://rorlab.gitbooks.io/railsguidebook/content/contents/rbenv.html
http://mukaer.com/archives/2012/03/09/rubyrvmgemrbenv/

68
75
0

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
68
75