💎

RubyMineのrbenvのバージョンが正しくセットされない...

2024/06/20に公開

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のバージョンの切り替えが自動でされました。

ちなみに~/.zshrcrbenv shell --unsetを入れてもダメでした...。

Discussion