💎
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