結論
二つの方法があります。実質的には、どちらも同じことです。以下、rbenv
の場合を例として書きます。
1つ目の方法. RBENV_VERSION
を設定した上で、ruby を実行する
具体例を見るとすぐに分かると思います。
$ ruby -v ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-darwin19] $ RBENV_VERSION=2.6.5 ruby -v ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin18]
2つ目の方法. rbenv shell
というコマンドを実行した上で、ruby を実行する(実行し終わったら --unset する)
これも具体例を見るとすぐに分かると思います。
$ ruby -v ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-darwin19] $ rbenv shell 2.6.5 $ ruby -v ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin18] $ rbenv shell --unset $ ruby -v ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-darwin19]
当該シェルを抜ければ rbenv shell
で指定した値は無効になるので、--unset
は必ずしも実行しなければいけないというわけではないです。
補足
- 特に問題がなければ、1つ目の環境変数を指定する方法でいいと思います
- 他の
XXenv
の場合も同様にして、例えばnodenv
ならばNODENV_VERSION
という環境変数を指定すればよいです - 既存のプロジェクトにおいて、
.ruby-version
などが存在しない場合に、リポジトリを汚さずに各種コマンドを実行する場合などに使うのかな、と思います