はじめに
anyenv経由のrbenvでRubyのバージョンを3.2.1から3.2.2に上げた際にRailsコマンドが効かなくなったので解消するまでを記事として残します。
現象
anyenv経由のrbenvでRubyのバージョンを3.2.1から3.2.2に上げた直後にrails -vをすると以下のメッセージが表示された
rbenv: rails: command not found
The `rails' command exists in these Ruby versions:
3.2.1
どうやら3.2.2のバージョンに railsコマンドが存在しないみたいだ
状況確認
3.2.2のバージョンがインストールされているRubyのディレクトリまで移動しインストールされているものを確認する
ディレクトリ確認
私の場合は以下のディレクトリ
/Users/ユーザー名/.anyenv/envs/rbenv/versions
lsコマンドで中身を表示
3.2.1と3.2.2がインストールされていることが確認取れた
3.2.1 3.2.2
3.2.1の中身を確認
3.2.1のbinに移動しlsコマンドを実行
_guard-core faker pry rake sprockets
bootsnap gem puma rbs thor
bundle guard pumactl rdbg tilt
bundler irb racc rdoc typeprof
coderay listen rackup ri
erb nokogiri rails ruby
railsがあることを確認
3.2.2の中身を確認
3.2.1のbinに移動しlsコマンドを実行
bundle gem rake rdoc typeprof
bundler irb rbs ri
erb racc rdbg ruby
railsがないことを確認
解消
既にグローバルのバージョン指定は3.2.2に切り替わっているので以下コマンドを実行
gem i rails
終了したらrails -vでバージョンが表示されるか確認
Rails 7.0.4.3
念の為3.2.2のbinディレクトリにrailsがあるかlsコマンドで確認する
bundle irb rails rdoc typeprof
bundler nokogiri rake ri
erb racc rbs ruby
gem rackup rdbg thor
railsを確認