【Ruby】rbenvでRubyのバージョン管理をする方法

Ruby

こんにちは、かつコーチです。

Rubyの学習を始めようとして、いきなり「rbenvを使いましょう」と言われて戸惑った経験はありませんか。
この記事では、なぜバージョン管理ツールが必要なのか、rbenvのインストール方法、Rubyのインストールとバージョン切り替えのやり方を初心者向けに解説します。
最後まで読めば、自分のパソコンにRubyの開発環境を安全に用意できるようになります。

なぜバージョン管理ツールが必要なのか

OS標準のRubyをそのまま使うのは危険

macOSにはあらかじめRubyがインストールされています。
ターミナルでruby -vと打つと、バージョンが表示されるはずです。

$ ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin25]

一見便利に思えますが、このOS標準のRubyはシステムRubyと呼ばれ、そのまま開発に使うのはおすすめできません。
OS自体が内部でこのRubyを使っている場合があり、うっかりgem(Rubyのライブラリ)を追加すると、OSの動作に影響が出る恐れがあるためです。
また、上の例のようにバージョンが古いままになっていることも多く、最新の学習教材のコードが動かない原因にもなります。

プロジェクトごとにバージョンを切り替えたい

学習が進むと、複数のプロジェクトを並行して触るようになります。
教材Aでは古いRubyのバージョンが指定されていて、自分で作るアプリでは最新版を使いたい、というケースも珍しくありません。
rbenvは、こうした複数のRubyバージョンをパソコン内に共存させ、プロジェクトごとに使うバージョンを切り替えられるツールです。

rbenvのインストール

Homebrewでインストールする

macOSでは、パッケージ管理ツールのHomebrewを使ってrbenvをインストールするのが一般的です。
Homebrewとは、ターミナルからソフトウェアを簡単にインストール・管理できるツールのことです。

# Homebrewでrbenvと関連ツールをインストール
brew install rbenv ruby-build

ruby-buildはrbenvの拡張機能で、これがないとRuby本体のインストールができないため、必ずセットで入れます。

シェルの設定ファイルに読み込み処理を追加する

インストールしただけでは、ターミナルがrbenvを認識してくれません。
使っているシェル(zshが標準)の設定ファイルに、rbenvを読み込む設定を追加します。

# .zshrcにrbenvの初期化処理を追加
echo 'eval "$(rbenv init - zsh)"' >> ~/.zshrc

# 設定を反映する
source ~/.zshrc

設定できているか、以下のコマンドで確認しましょう。

$ rbenv --version
rbenv 1.2.0

バージョンが表示されればインストール成功です。

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

インストール可能なバージョンを確認する

まずは、rbenv経由でインストールできるRubyのバージョン一覧を確認します。

# インストール可能なバージョン一覧を表示
rbenv install --list

たくさんのバージョンが表示されますが、初心者のうちは安定版の最新に近いものを選べば問題ありません。

Rubyをインストールする

バージョンを指定して、実際にRubyをインストールします。

# Ruby 3.4.1をインストール
rbenv install 3.4.1

このコマンドは、内部でRubyのソースコードをダウンロードしてビルドするため、数分ほど時間がかかります。

グローバル・ローカルでバージョンを切り替える

インストールしたRubyを使えるようにするには、バージョンを指定する必要があります。
rbenvには主に2つの指定方法があります。

# パソコン全体で使うデフォルトのバージョンを設定
rbenv global 3.4.1

# 特定のディレクトリ(プロジェクト)だけで使うバージョンを設定
cd my-ruby-app
rbenv local 3.4.1

rbenv localを実行すると、そのディレクトリに.ruby-versionというファイルが自動生成されます。
このファイルがあるディレクトリに入ると、rbenvが自動的に指定バージョンへ切り替えてくれる仕組みです。

設定後は、必ずバージョンを確認する習慣をつけましょう。

$ ruby -v
ruby 3.4.1 (2024-12-25 revision ...) [x86_64-darwin]

よくあるつまずきポイント・エラー対処

バージョンを切り替えたのに反映されない

rbenvを使い始めたばかりの頃、私はrbenv global 3.4.1を実行したのにruby -vが古いバージョンのままで、原因が分からず1時間近く悩んだことがあります。

❌Before(うまくいかない例)

$ rbenv global 3.4.1
$ ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin25]

原因は、.zshrcにrbenvの初期化設定を追加した後、ターミナルを再起動していなかったことでした。
設定ファイルは、再読み込みしない限り反映されません。

✅After(解決した書き方)

# 設定ファイルを再読み込みする
source ~/.zshrc

# もう一度バージョンを確認する
$ ruby -v
ruby 3.4.1 (2024-12-25 revision ...) [x86_64-darwin]

rbenv initが正しく設定できているかは、以下のコマンドでも確認できます。

$ rbenv doctor

もし設定に不備があれば、このコマンドが原因を教えてくれます。

まとめ

この記事のポイント

  • OS標準のシステムRubyを直接使うのは避け、rbenvでバージョンを管理するのが安全
  • rbenvはHomebrewでruby-buildとセットでインストールする
  • rbenv globalはパソコン全体、rbenv localはプロジェクトごとのバージョン指定に使う
  • バージョンが切り替わらないときは、シェルの設定ファイルをsourceで再読み込みしているか確認する

次に読むべき記事

環境構築ができたら、次は実際にRubyのコードを試してみましょう。
「irbで対話的にRubyを試す方法」で、インストールしたRubyを動かしてみてください。

タグ: Ruby, 初心者向け, 環境構築

タイトルとURLをコピーしました