Ruby

【rbenv】Rubyのバージョンの切り替える方法|Ruby3系を使う手順

2022年3月5日

今回は、Ruby3系設定方法の説明をとおして、Rubyのバージョンを切り替える方法を紹介します。

記事の内容は次のとおりです。

  1. Rubyのバージョンを変更する方法
  2. Rubyのバージョン管理ツール rbenv の基本的な使い方
  3. 特定の環境(ディレクトリ)のみバージョンを変える方法

以下、今回使用するコマンド一覧です。

ruby -v              #Rubyのバージョンの確認
brew -v              #brewのバージョンの確認
brew install rbenv   #rbenvをインストールする
rbenv init           #rbenvを設定する
cd ~                 #ホームディレクトリに移動する
ls -a                #カレントディレクトリの全てのファイルを表示する
open .zshrc          #.zshrcの内容を表示する
source .zshrc        #.zshrcの内容を反映させる
rbenv                #rbenvのバージョンを表示する
rbenv install -l     #インストール可能なバージョンを表示する
rbenv install 3.1.0  #Rubyのバージョン3.1.0をインストールする
rbenv versions       #インストール済みのRubyのバージョンと現在の環境で設定されているバージョンを確認する
rbenv global 3.1.0   #デフォルトで使用するRubyのバージョンを設定する
rbenv rehash         #関連ファイルを再配置して使用可能にする
rbenv local 2.7.5    #カレントディレクトリ内で使用するRubyのバージョンを設定する
ruby --version       #現在の環境で使用しているRubyのバージョンを表示する

初期確認と準備

Ruby のバージョンの確認

まずは現在の状態を確認しましょう。

次のコマンドで、インストールされている ruby のバージョンを確認します。

ruby -v

ここで、「 3 . * . * 」が表示されていれば、すでにRuby3系を使用することができます。( * :いずれかの数字)

Macを使用している方は「 2 . * . * 」のバージョンが表示されると思いますし、Ruby がインストールされていない場合は「 ruby っていうコマンド使えないよ」と表示されると思います。

本記事はそんな方に向けなので、一緒にRuby3系をインストールしていきましょう!

Homebrew のインストール

次に、Homebrewがインストールされているか確認して、されていなければインストールしていきます。

Homebrew(ホームブリュー)
・MacOS上にソフトウェアの導入を単純化するパッケージ管理システム

それでは次のコマンドを実行して、Homebrewのバージョンを確認しましょう。

brew -v

バージョンが表示された場合は、すでにインストールされている状態なので次の「 rbew のインストール」に進んでください。

バージョンが表示されない場合は、次のURLにアクセスしてインストール用のコマンドをコピーして、ターミナルにペーストして実行しましょう。

※ パスワードを要求された場合は、いつもMacを開いたときに入力しているパスワードを入力してください。

※ 時間がかかる場合があるので、スクワットしながら待ちましょう。

https://brew.sh/index_ja.html

Homebrew のインストールが終わったら、再度バージョンを確認するコマンドを実行して、無事にインストールされたことを確かめてください。

バージョンが表示されたらOKです。

brew -v

rbenv のインストール

次に、Homebrew を使用して rbenv をインストールしていきます。

rbenv(アールビーエンブ)
・Rubyのバージョンを管理するツール
・複数のバージョンを切り替えて使用できる

下記のコマンドを実行して rbenv をインストールしてください。

brew install rbenv

rbenvの設定

rbenv は、Rubyのバージョン管理ツールです。主に次のことができます。

  • Rubyのバージョンを新規でインストールする
  • 使用するバージョンを設定する
  • 特定のディレクトリ内のみ、指定したバージョンを使うように設定できる
  • Rubyのバージョンに合わせてライブラリ(gem)周辺のバージョンも更新する

それでは、rbenv の設定をしていきましょう。

シェルで rbenv を使えるようにする

下記コマンドを実行して、rbenv の設定をします。

rbenv init コマンドは、シェルで rbenv を使用できるようにするコマンドです。(シェル内に拡張コマンドを読み込む行を橋渡しするコマンド)

rbenv init

rbenv init コマンドを実行すると、次のようなメッセージが表示されると思います。

※次のようなメッセージが表示がない場合は、.zshrc の中を確認してください。「 eval "$(rbenv init - zsh)" 」が書かれていればOKです。

# Load rbenv automatically by appending
# the following to ~/.zshrc:

eval "$(rbenv init - zsh)"

上記のメッセージは、

シェルで rbenv を使用できるように、~/.zshrc に 「 eval "$(rbenv init - zsh)" 」を追記してください。

という意味なので、ホームディレクトリ(~)にある .zshrc を編集していきます。

.zshrc を編集する

まずは、ホームディレクトリ(~)の下に .zshrc があるか確認しましょう。

次のコマンドを実行してください。(各行、#以降はコメントなのでうたないでください)

cd ~        #ホームディレクトリに移動する
ls -a       #カレントディレクトリの全てのファイルを表示する

ファイルを表示したときに、.zshrc がなければ、次のコマンドで実行してファイルを作成します。(ある場合はスキップしてください)

作成したら、もう一度 ls -a コマンドでファイルが作成されているか確認してください。

touch .zshrc   #.zshrcファイルを作成する

それでは、.zshrc に「 eval "$(rbenv init - zsh)" 」を追記していきます。

次のコマンドを実行して、.zshrc を表示してください。

open .zshrc

.zshrc のファイルの中身は人によって異なると思いますが、下記「編集後」と同じ状態になっていればOKです。

export PS1="%1~ %# " 
export PS1="%1~ %# " 
eval "$(rbenv init - zsh)"

編集後は、しっかり保存してください。( [commandキー] + [s] など )

.zshrc の内容をシェルで反映させる

次のコマンドを実行して、編集した .zshrc ファイルをシェルに反映させましょう。

source .zshrc

sourceコマンド:
・ファイル内のコマンドを実行するコマンド
・設定ファイルを反映させる際によく使う

正常に反映されるとシェルで rbenv を使用できるようになります。

一旦、次のコマンドを実行して rbenv のバージョンを確認してみましょう。

rbenv

バージョンが表示されればOKです。

rbenv 1.2.0-11-ge4f61e6
Usage: rbenv <command> [<args>]

Some useful rbenv commands are ...

Ruby3系のインストール

それでは、rbenvを使用して Ruby3系 をインストールしていきましょう。

まずは次のコマンドを実行して、インストール可能なバージョンを確認します。

rbenv install -l

コマンドを実行すると、下記のようにインストール可能なバージョンが表示されます。

2.6.9
2.7.5
3.0.3
3.1.0
jruby-9.3.2.0
mruby-3.0.0
rbx-5.0
truffleruby-21.3.0
truffleruby+graalvm-21.3.0

その中から、Ruby3系のものをインストールしましょう。

次のコマンドでインストールを実行します。(時間がかかります)

rbenv install 3.1.0

インストールしただけでは、使用するRubyのバージョンとしては設定されていません。
インストールした後に使用するバージョンとして設定する必要があります。(この先ですぐ設定します)

インストールが完了した後に、次のコマンドを実行してみましょう。

下記のコマンドを実行すると、インストールしたバージョンと現在の環境で動いているバージョン(米印)を確かめることができます。

rbenv versions

表示は下記のとおりです。(人によってことなります)

* system (set by /Users/user_name/.rbenv/version)
  3.1.0 

米印が付いているのが現在の環境で動いているバージョンになります。

つまり、バージョン3.1.0 はインストールはされているけど、使用されていない状態です。

System とは:
・ホストOSにインストールされたRubyのことを指します。(Macには元々Ruby2系が入っている)
・ただし、インストール先のパスなどが異なるため、権限エラーなどで使いづらい場面があります。
・そのため、Systemとは別にRubyをインストールしておくことをオススメします。(Ruby2系であっても)

次のコマンドを実行して、先ほどインストールした Ruby3.1.0 をデフォルトに設定します。

rbenv global 3.1.0

デフォルトで使用する Ruby のバージョンを変更すると、全てのシェルで 3.1.0 で使えるようになります。

再度、下記のコマンドを実行して、現在の環境で動いているバージョンを確認してみましょう。

rbenv versions

下記のように、デフォルトで設定したバージョンに米印が付いていたらOKです。

  system
* 3.1.0 (set by /Users/user_name/.rbenv/version)

次にコマンドを実行して関連ファイルを再配置して使用可能にしましょう。

rbenv rehash

rbenv rehash で何をしているのか:
・Rubyのバージョンに合わせて、gemのバージョンを設定する。
・「gem」とは、各種の便利な機能をRubyに追加するライブラリ。
・rbenvを使用してRubyのバージョンを設定した後はrehashコマンドを実行する。

最後に、念のため、次のコマンドを実行して、設定されている ruby のバージョンを確認してみましょう。

ruby --version

先ほど設定した 3.1.0 が表示されればOKです。

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

「 rbenv global 3.1.0 」コマンドでデフォルトで使用するRubyのバージョンを設定しました。

ここでは、特定のディレクトリ内で使用するRubyのバージョンを設定する方法を説明します。

つまり、デフォルトで使用している Ruby のバージョンとは違うバージョンを使う手順について説明します。

今回は、~ / Desktop / ruby_test で使うRubyのバージョンを2系にします。

まずは、次のコマンドを実行して、インストール済みの Ruby のバージョンを確認しましょう。

rbenv versions

上記のコマンドを実行すると、次のようにインストール済みのバージョンが表示されます。(人によって異なります)

米印が付いているバージョンが現在の環境で動いている Ruby のバージョンです。

  system
* 3.1.0 (set by /Users/user_name/.rbenv/version)

これより、Ruby2系がインストールされていないことがわかるので、まずはRuby2系をインストールします。

次のコマンドを実行して、インストール可能なバージョンを確認しましょう。

rbenv install -l

記事作成時、インストール可能なバージョンは次のとおりです。

2.6.9
2.7.5
3.0.3
3.1.1
jruby-9.3.3.0
mruby-3.0.0
rbx-5.0
truffleruby-22.0.0.2
truffleruby+graalvm-22.0.0.2

今回は、バージョン2.7.5 をインストールします。

次のコマンドで、バージョン2.7.5 のRubyをインストールします。

rbenv install 2.7.5

インストールが完了したら、再度下記コマンドを実行してインストール済みの Ruby のバージョンを確認しましょう。

rbenv versions

下記のように バージョン2.7.5 がイントールされたことが確認できます。

米印が 2.7.5 に付いていないので使用する Ruby のバージョンとしては設定されていません。

  system
  2.7.5
* 3.1.0 (set by /Users/user_name/.rbenv/version)

作業用のディレクトリに移動します。(私は、~/Desktop/ruby_test で作業しますが、各自の作業用ディレクトリを使用してください)

cd ~/Desktop/ruby_test

カレントディレクトを作業用ディレクトリに移したら、次のコマンドで「そのディレクトリ内で使用する Ruby のバージョン」を設定します。

rbenv local 2.7.5

これでローカル上(カレントディレクトリ上)で使用される Ruby のバージョンが 2.7.5 に設定されていると思います。

確認してみましょう。

rbenv versions

下記のとおり、使用する Ruby のバージョンが 2.7.5 に設定されています。

  system
* 2.7.5 (set by /Users/user_name/Desktop/ruby_test/.ruby-version)
  3.1.0

これで、特定のローカル環境に対してRubyのバージョンを設定することができました。

バージョンを設定した後は、そのバージョンに合わせたライブラリ(gem)をインストールする必要があります。次のコマンドを実行すればOKです。

次のコマンドを実行して、現在の環境で動いているRubyのバージョンに合わせたライブラリ(gem)を設定しましょう。

rbenv rehash

念のため、ほかの環境(ディレクトリ)では、デフォルトで設定したバージョン(3.1.0)が使用されていることを確認してみましょう。

cd ../
rbenv versions

下記のとおり、ほかの環境ではデフォルトで設定したバージョン(3.1.0)が使用されていることが確認できます。

  system
  2.7.5
* 3.1.0 (set by /Users/user_name/.rbenv/version)

以上です。お疲れ様でした。

  • この記事を書いた人
  • 最新記事

Maita Tomoya / yone

2020.4~Webアプリケーションエンジニアとして都内の企業で働き、空いている時間でブログを運営している29歳男です。本ブログは情報の整理をするため、文章を書く機会を作るために始めました。1記事でも多く「誰かのためになる記事」を書けるように頑張ります!転職前は地方の高校で働いていました。教育関係の記事も定期的に書いていきたいと思います。

-Ruby