🙌
Rails6系でrails new後、http://localhost:3000/にアクセスできなかった
エラー概要
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.0
か14.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