今回はrbenv: version `x.x.x` is not installed
の解決方法について備忘録としてまとめています。動かしたいサンプルアプリケーションのRubyバージョンが異なる場合や最新のRubyバージョンが欲しい場合に使える手順になっています。
【事象】bundle installが実行できない
bundle installを実行するとrbenv 3.1.0のバージョンがインストールされていませんというエラーが吐かれてしまいます。
% bundle install
rbenv: version `3.1.0' is not installed (set by /Users/~~/.ruby-version)
解決方法
インストール可能なバージョン確認
rbenv install --list
を実行すると、インストールすることができるバージョンが一覧で表示されます。どうやらインストール可能なバージョンに3.1.0が入っていないようです。
% rbenv install --list
2.6.9
2.7.5
jruby-9.3.2.0
mruby-3.0.0
rbx-5.0
truffleruby-21.3.0
truffleruby+graalvm-21.3.0
Only latest stable releases for each Ruby implementation are shown.
Use 'rbenv install --list-all / -L' to show all local versions.
ruby-buildの実行
最新のバージョンをbrew経由で取得します。同時にbrewのアップグレードも並行して行います。
% brew update && brew upgrade ruby-build
もう一度rbenv install --list
を実行すると、対象のバージョンである3.1.0が入りました。
% rbenv install --list
2.6.9
2.7.5
3.0.3
3.1.0
jruby-9.3.2.0
mruby-3.0.0
rbx-5.0
truffleruby-21.3.0
truffleruby+graalvm-21.3.0
Only latest stable releases for each Ruby implementation are shown.
Use 'rbenv install --list-all / -L' to show all local versions.
対象バージョンのインストール
対象のバージョン、今回の場合は3.1.0をインストールします。
% rbenv install 3.1.0
適用するバージョンの指定
rbenv versions
を実行すると現在適用されているバージョンを確認することができます。現在では2.6.5が適用されているようです。
% rbenv versions
system
2.5.8
* 2.6.5 (set by /Users/~~/.ruby-version)
3.0.3
3.1.0
以下のコマンドで対象のバージョンに指定できます。
% rbenv local 3.1.0
再度rbenv versions
を実行すると、3.1.0が適用されていることが分かります。
% rbenv versions
system
2.5.8
2.6.5
3.0.3
* 3.1.0 (set by /Users/~~/.ruby-version)
ここまでの作業でRubyバージョンを変更でき、bundle install
を通すことができました。
% bundle install
=> 成功
まとめ
最低限、以下のコマンドでRubyバージョンを変更することができます。
- brew update && brew upgrade ruby-build
- rbenv install x.x.x
- rbenv local x.x.x
参考
How to fix rbenv: version `x.x.x` is not installed
今回はrbenv: version `x.x.x` is not installed
の解決方法について備忘録としてまとめました。サンプルアプリケーションを動かしたい場合、Rubyのバージョン違いで動作しないことがよくあるため、その際の参考になればと思います。