5
7

More than 5 years have passed since last update.

rbenvの使い方まとめ

Posted at

Ruby初学者なので、rbenvの基礎的な使用方法から自分用にまとめます。

基本的には公式リポジトリを見ながら書いていきます。

rbenvとは?

Rubyのバージョン管理を行ってくれるツール。
開発環境に複数バージョンのRubyをインストールし、切り替えることができます。

インストール・設定

以下、Macを前提で記載します。

# インストール(ruby-buildも入れておく)
$ brew install rbenv ruby-build

~/.bash_profileに以下の内容を追記します。

eval "$(rbenv init -)"
# 変更内容を適用
$ source ~/.bash_profile

# インストール確認
$ rbenv -v

基本的な使い方

Rubyのインストールとバージョン切り替え

Rubyのバージョンを指定してインストールします。

# まずはインストール可能なバージョンを調べる
$ rbenv install -l
Available versions:
  1.8.5-p52
  1.8.5-p113
  1.8.5-p114
  1.8.5-p115
  1.8.5-p231
  1.8.6
 ...

# 記載時点では2.6.3が安定版のようなので、2.6.3を入れる
# ※[-dev]や[preview]と書いていない
$ rbenv install 2.6.3

# 私の環境ではエラーになりました。。。
BUILD FAILED (OS X 10.14.5 using ruby-build 20190423)
# オプションつけると通るらしい
$ RUBY_CONFIGURE_OPTS="--disable-dtrace" rbenv install 2.6.3

# インストールされているバージョン一覧
$ rbenv versions
2.6.3

# 使用するRubyのバージョン指定
$ rbenv global 2.6.3

上記の場合は全体で使用するRubyのバージョンを設定しますが、
任意のディレクトリ配下だけ別のバージョンを使用することもできます。

# 全体のバージョン
$ ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18]

# 任意のフォルダに移動
$ cd hoge

# hogeの中だけ2.6.0(オプションは割愛)
$ rbenv install 2.6.0
$ rbenv local 2.6.0

# .rbenv-version が作成される
$ ls -a
.               ..              .ruby-version

$ ruby -v
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin18]

その他機能

shell

コマンドラインで使用するRubyのバージョンを一時的に変更します。

# 現在のバージョン
$ rbenv versions
  system
  2.6.0
* 2.6.3 (set by /Users/iwakura/.rbenv/version)

$ rbenv shell 2.6.0

# 確認
$ rbenv versions
  system
* 2.6.0 (set by RBENV_VERSION environment variable)
  2.6.3

# 元に戻す
$ rbenv shell --unset
$ rbenv versions
  system
  2.6.0
* 2.6.3 (set by /Users/iwakura/.rbenv/version)

which

rbenv内にインストールされているコマンドのフルパスを表示します。

$ rbenv which gem
/Users/iwakura/.rbenv/versions/2.6.3/bin/gem

whence

引数に指定したコマンドがインストールされているバージョンを表示します。

# 現在2.6.3と2.6.0がインストールされている
# rackupは2.6.3にのみ存在
$ rbenv whence rackup
2.6.3

環境変数

rbenvで使用する環境変数について記載します。

名前 デフォルト値 説明
RBENV_VERSION rbenv shellで使用するRubyのバージョンを設定
RBENV_ROOT ~/.rbenv rbenvでインストールした各バージョンのファイル等が配置されるパスを指定
RBENV_DEBUG デバック情報を出力するらしい(rbenvの挙動確認用?)
RBENV_HOOK_PATH rbenv hooks用らしいけど何かよく分からない
RBENV_DIR $PWD .ruby-versionの検索先

まとめ

一部雑な記載になってしまいましたが、基本的なことは学べました。
今後Rubyを使用して仕事することになるので、言語仕様も含めてしっかり学びたいです。

5
7
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
5
7