rbenvを使ってrubyのバージョンを切り替えたい時に、ruby --version と rbenv versionで表示されるバージョンが異なってしまう時の対処法。
##症状
rubyは2.7.0なのに、rbenvは3.0.0を指している。(3.0.0に合わせたい)
$ ruby -v
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-darwin19]
$ rbenv version
3.0.0 (set by /Users/.rbenv/version)
##原因 .bash_profileでrbenvの設定をしている([設定方法](https://qiita.com/yuta-38/items/00a24e9f5a7b5e421fbb#%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%8C%E5%88%87%E3%82%8A%E6%9B%BF%E3%82%8F%E3%82%89%E3%81%AA%E3%81%84%E6%99%82%E3%81%AE%E5%AF%BE%E5%87%A6%E6%B3%95 ))が、.bashrcでrubyの設定が残っている。
.bashrc
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"
↓ RVMのパスをコメントアウトして再度読み込む。
#vimで開く
$ vi ~/.bashrc
.bashrc(コメントアウト)
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
# export PATH="$PATH:$HOME/.rvm/bin"
#リロード
$ source ~/.bashrc
以上で設定が完了。
$ ruby -v
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin19]
ruby -v
でもrbenvと同じバージョンが指定できた。
**▼(参考).bash_profileの記述**
.bash_profile
export PATH="$PATH:$HOME/.rbenv/bin"
eval "$(rbenv init -)"
##Unknown ruby interpreter versionの対処法 別のプロジェクトのディレクトリに移動すると以下のようなエラーが出る場合がある。
$ cd hoge
Unknown ruby interpreter version (do not know how to handle): バージョン
これは、上記処理結果が反映されておらずruby -v
とrbenv version
で指定しているバージョンが違うために発生する。
rbenvの設定をbash_profileに記述しているため、再読み込みが必要。
#変更が反映されていない
$ ruby -v
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-darwin19]
#再読み込み
$ source ~/.bash_profile
$ ruby -v
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin19]
以上で完了。