🙌

Rails6系でrails new後、http://localhost:3000/にアクセスできなかった

2022/04/06に公開

エラー概要

rails sではエラー無し

http://localhost:3000/ にアクセスしようとすると、

Webpacker::Manifest::MissingEntryError

のエラーが出る

webpackでコンパイルしていないことが原因らしい

やってみたこと

$ rails webpacker:compile

Compiling...
Compilation failed:
yarn run v1.22.10
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

error Command "webpack" not found.

→webpackがインストールされていない?

$ rails webpacker:install

Webpacker successfully installed 🎉 🍰

が表示されたのでインストールできたと思ったが、よく見るとエラーが出ていた

@npmcli/fs@1.1.0: The engine "node" is incompatible with this module. Expected version "^12.13.0 || ^14.15.0 || >=16". Got "14.4.0"

nodeのバージョン12.13.014.15.0がいいのに14.4.0が使われてますよーっていうエラー

③指定されたnodeのバージョンを入れる

$ node -v
v14.4.0

確かに14.4.0が使われていた

インストール済みのnodeのバージョンを見てみる

$ nodebrew ls
v12.14.0
v14.4.0

current: v14.4.0

指定されたバージョンが入っていないので、インストールする

$ nodebrew install 14.15.0

再度、インストール済みのnodeのバージョンを見てみると無事にインストールされていたので、そのバージョンに切り替え

$ nodebrew use 14.15.0
$ nodebrew ls
v12.14.0
v14.4.0
v14.15.0

current: v14.15.0

切り替え完了

④再度$ rails webpacker:install
先ほどのエラーがなく、インストールできた

$ rails webpacker:compile

http://localhost:3000/ にアクセス!表示できた!

Discussion