✨
【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
確認方法
設定が正しく完了しているかを以下の手順で確認します:
which ruby
の確認
1. 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の設定不備が原因です。
解決のポイント:
-
which ruby
でシステム標準Rubyが使われていないか確認 - シェル設定ファイル(
~/.zshrc
または~/.bash_profile
)にrbenvの設定を追加 - 設定反映後、各種確認コマンドで正常動作を確認
この手順で解決しない場合は、rbenv自体のインストールに問題がある可能性があります。その場合は、rbenvの再インストールを検討してください。
Discussion