Chiroru's Diary

日々の学びをちょこちょこメモしていきます

rbenv globalでrubyのバージョン切替えがうまくいかなかった

【目次】

rubyのバージョン切り替えについてはこちらに記載してあります↓

rubyのバージョンを切り替える

状況

$ rbenv local <バージョン>でプロジェクトごとのバージョン切り替えはできるのに、$ rbenv global <バージョン> でのデフォルト切り替えがなぜかできませんでした。

$ rbenv global 2.7.1
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18]

結論

誤ったファイルを読み込んでしまっていました。

それがこちら↓

$ rbenv versions  
  system  
  2.5.0  
* 2.6.3 (set by /Users/user_name/.ruby-version)  
  2.7.0    
  2.7.1  

.ruby-versionは使用するRubyのバージョンを自動で変更してくれるファイルで、バージョン指定した時に作成されるものですね。

解説

この.ruby-versionファイルがなぜか/Users/user_name配下に作られてしまっていたので$ rbenv global <バージョン> ができなかったというわけです😂

不要なのでこのファイルを削除したところ、ちゃんとglobalの変更が効くようになりました!

$ rbenv local 2.7.0
$ rbenv global 2.7.1
$ ruby -v
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-darwin18]

$ rm .ruby-version

$ rbenv versions
  system
  2.5.0
  2.6.3
  2.7.0
* 2.7.1 (set by /Users/user_name/.rbenv/version)

感想

調べていると同じうようにバージョン切り替えがうまくいかない場合において、「パスの設定が間違っている」ことが原因であることが多いようでした。 しかし今回の私の場合は原因が違っていたため、いくら$ which rubyで参照先を確認しても問題なく/Users/user_name/.rbenv/shims/rubyとなっていました。アンインストールしないといけないかな?とかまで思っていたのですが、よく出力結果見ればわかる程度のことでした。