背景
rbenvでrubyのバージョンを上げた後にrails コマンドを使おうとすると、下記のようになってしまった。
$ rails --version
rbenv: rails: command not found
The `rails' command exists in these Ruby versions:
2.4.2
新しくインストールしたrubyの中にrailsというgemが入っていないために起こっているようだ。
対処
新しくインストールしたruby環境にrailsをインストールすることをゴールとします。
# gem のupdate
$ gem update --system
# bundler のinstall
$ gem install bundler
# rails のinstall
$ gem install rails
# バージョンが表示されたらrails コマンドが使えるようになっている
$ rails --version
Rails 5.2.1
gem install railsはオススメできない
gem install rails
はその時利用しているバージョンのRubyのグローバルな環境にRailsをインストールすることになるのであまりオススメではないです。
個人的には小さなプロジェクトでもGemfileを使った依存gemの管理を行い、プロジェクト毎に依存gemを管理し、railsコマンドを実行するときは必ず bundle exec rails
or bin/rails
を使うのがいいと思ってます。
既存プロジェクトの場合はbundle installすれば、bin/rails ... でそのプロジェクトで利用しているrailsのバージョンを使った操作が可能です。
新規プロジェクトの場合はこちらの記事がわかりやすかったです。