【Mac】rbenvでRubyバージョンを変更できない原因と対処法

に公開

問題の概要

rbenvを使ってRubyのバージョンを変更しようとしたとき、以下のような症状に遭遇することがあります。

# Rubyバージョンを変更しようとする
rbenv global 3.4.4

# バージョンを確認すると、変更されていない
ruby -v
# ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin22]

rbenv globalコマンドを実行しても、ruby -vで確認すると古いバージョンのままになってしまう現象です。

この問題は、MacでRuby開発環境を構築する際によく発生する典型的なトラブルです。

原因の特定

which rubyで現在使用されているRubyを確認

まず、どのRubyが使用されているかを確認しましょう。

which ruby

問題がある場合の出力例:

/usr/bin/ruby

正常な場合の出力例:

/Users/あなたのユーザー名/.rbenv/shims/ruby

/usr/bin/rubyと表示される場合、macOSにプリインストールされているシステム標準のRubyが使用されています。この状態では、rbenvで設定したバージョンが反映されません。

追加の確認コマンド

問題の詳細を把握するために、以下のコマンドも実行してみましょう:

# rbenvがインストールしているRubyバージョンを確認
rbenv versions

# rbenvが認識している現在のバージョンを確認
rbenv version

# PATHの設定を確認
echo $PATH

解決手順

1. 使用しているシェルの確認

まず、使用しているシェルを確認します:

echo $SHELL

出力例:

  • /bin/zsh → zsh(macOS Catalina以降のデフォルト)
  • /bin/bash → bash

2. rbenvのPATH設定を追加

使用しているシェルに応じて、適切な設定ファイルにrbenvの設定を追加します。

zshの場合:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(rbenv init -)"' >> ~/.zshrc

bashの場合:

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

3. 設定を反映

設定ファイルを更新したら、変更を反映させます:

zshの場合:

source ~/.zshrc

bashの場合:

source ~/.bash_profile

4. Rubyバージョンの設定

目的のRubyバージョンがインストールされていない場合は、まずインストールします:

# Ruby 3.4.4をインストール(例)
rbenv install 3.4.4

# グローバルバージョンとして設定
rbenv global 3.4.4

確認方法

設定が正しく完了しているかを以下の手順で確認します:

1. which rubyの確認

which ruby

期待される出力:

/Users/あなたのユーザー名/.rbenv/shims/ruby

2. rbenvのバージョン確認

rbenv version

期待される出力例:

3.4.4 (set by /Users/あなたのユーザー名/.rbenv/version)

3. Rubyバージョンの最終確認

ruby -v

期待される出力例:

ruby 3.4.4 (2025-05-14 revision a38531fd3f) +PRISM [x86_64-darwin22]

すべて正しく表示されれば、設定完了です!

まとめ

rbenvでRubyバージョンが変更できない問題の多くは、PATHの設定不備が原因です。

解決のポイント:

  1. which rubyでシステム標準Rubyが使われていないか確認
  2. シェル設定ファイル(~/.zshrcまたは~/.bash_profile)にrbenvの設定を追加
  3. 設定反映後、各種確認コマンドで正常動作を確認

この手順で解決しない場合は、rbenv自体のインストールに問題がある可能性があります。その場合は、rbenvの再インストールを検討してください。

Discussion