ume

rbenvでRubyバージョンが切り替わらない

バージョンが切り替わらない

rbenv versions 
  system
* 2.6.5 (set by /Users/umekin/Documents/ECsite/.ruby-version)
  2.6.6
  2.7.6
  3.1.2
  3.2.2

rubyが2.6.5でインストールされている.

3.1.2にバージョンを切り替えたい.
globalコマンドで切り替えれるらしいです。

rbenv global 3.1.2

しかし、私の環境ではなぜか切り替わってませんでした。

rbenv versions    
  system
* 2.6.5 (set by /Users/umekin/Documents/ECsite/.ruby-version)
  2.6.6
  2.7.6
  3.1.2
  3.2.2

問題点.

⇨.ruby-versionが問題らしい

ここで気づいた点は、* 2.6.9 (set by /Users/username/.ruby-version)のところ。 他の記事を参照した時、rbenvがうまく動いたら、 (set by /Users/username/.rbenv/version)が表示されるべきだという。 なるほど、じゃ何でこの.ruby-versionになっているだろう..?

解決策.

⇨ホームディレクトリ下に.ruby-versionファイルを置かないこと(.ruby-versionファイルを削除する).

.ruby-versionとは ⇨$ rbenv local rubyバージョンのコマンドを実行するとホームディレクトリ配下に生成されるファイルで、このファイルの中にrubyのバージョンファイルが記載されている。 切り替わらなかった理由としてrubyのglobalバージョンを切り替えようとして.rbenv/versionの内容が変更したとしても.ruby-versionファイルにあるバージョンが優先して設定される。

ファイル削除

rm .ruby-version

私の場合ホームディレクトリ(階層が一番上のディレクトリ)で上記のコマンドを実行するとok.