💎
RubyMineのrbenvのバージョンが正しくセットされない...
RubyMineを使ってみるとrbenvのlocal(.ruby-versionファイル)の指定が正常に動作しないことに気づいた。
結論
原因は、RubyMineだと環境変数が勝手に入ってくるので以下を実行して環境変数のRBENV_VERSIONをリセットすれば解決した。
❯ rbenv shell --unset
問題発覚から解決までの流れ
最初は、何かrubyのバージョンがおかしいなぁと思って確認しました。
❯ cat .ruby-version
3.3.1
❯ ruby -v
ruby 3.0.6p216 (2023-03-30 revision 23a532679b) [arm64-darwin23]
rubyがローカルの方かrbenvの方か確認する
❯ which ruby
/Users/user_name/.rbenv/shims/ruby
正しくrbenvは使用されている...。
次にインストール状況を見てみる
❯ rbenv versions
system
* 3.0.6 (set by RBENV_VERSION environment variable)
3.3.1
ん?
set by RBENV_VERSION environment variable
RBENV_VERSIONの環境変数を確認してみる
❯ echo $RBENV_VERSION
3.0.6
通常のターミナルの実行でecho $RBENV_VERSIONとしても何も表示されないのにRubyMineで実行すると環境変数が入ることに気づいた。
調べてみると以下の設定で強制的に環境変数が入ってくるっぽい。

(.ruby-versionファイルで自動で切り替えができない仕様になっている)
/Users/yusuke/.rbenv/shims/rubyとか登録できないかなーと思って試したりしましたができず...。
とりあえずの対策で環境変数を空にするコマンドを打つようにしました。
❯ rbenv shell --unset
そうすると通常通りの.ruby-versionのバージョンの切り替えが自動でされました。
ちなみに~/.zshrcにrbenv shell --unsetを入れてもダメでした...。
Discussion