railsで環境構築をしている際にrails server
コマンドを打ってもrailsコマンドが使えない、バージョン管理でのエラーがいくつか発生した。各エラー内容と解決した方法をまとめておく。
#実行環境
OS: MacOS
rubyバージョン管理:rbenv
railsバージョン:6.0.3.2
シェル:zsh
#エラー内容
$ rails server
とうつと
Rails is not currently installed on this system. To get the latest version, simply type:
$ sudo gem install rails
You can then rerun your "rails" command.
Railsは現在このシステムにはインストールされていません。
sudo gem install rails
というコマンドで最新版のRailsをインストールすることができます。とのエラーが発生した。
#やったこと
ここはエラーで指摘された通り
$ sudo gem install rails
を実行した。とりあえずこれでrailsコマンドを使うことはできた。
$ rails -v
Rails 6.0.3.2
と打ってもバージョンがちゃんと表示され、railsコマンドが使えるようになった。
他の記事などをみているとこれを行なってもエラーが解消されないことが発生している。
調べた範囲ではrbenvでrubyのバージョン管理を行っているとgemの参照先によるエラーもあるそうで、これはPATHを指定してやることで解決するそう。
rbenv自体がデフォでrubyとgemを持っているので、gemを使ってもデフォルトのrubyが起動してしまうためだそうだ。
#エラー内容2
$ rails server
を打つと
warn_for_outdated_bundler_version': You must use Bundler 2 or greater with this lockfile. (Bundler::LockfileError)
という違うエラーが発生した。このロックファイルでは、Bundler 2 以上を使用する必要があります。とのことでbundlerのバージョンが適正でない?という内容。
#やったこと2
$ gem update --system
RubyGemsのバージョンアップを実行。そして
$ bundle update --bundler
bundlerのアップグレートを実行。
最後にrails server
を実行したら
Please run rails webpacker:install
と出たので
$ bundle exec rails webpacker:install
を実行することでサーバーの起動が確認できた。