railsの環境構築時に詰まった箇所がありメモとして残します。
railsのバージョンを6系で固定して環境構築しようとしていました。
その時にWebpacker::Manifest::MissingEntryError
というエラーが発生し何度か見たことがあるエラーだったため忘れないように記事に残します。
環境
ruby 2.7.6
rails 6.1.6
エラー内容
railsプロジェクトを作成するときはこのコマンドです。
rails _6.1.6_ new myapp
これでrailsのバージョンを指定してプロジェクトを作成できます。
この後ルートへのルーティングを整備してアクセスすると以下のようなエラーが発生しました。
Webpacker::Manifest::MissingEntryError in Home#index
対処方法
調べたところrails webpacker:install
, rails webpacker:compile
を実行することで治ると書いてありました。
しかし、僕の環境では治りません。
いろいろ調べて試した結果nodeのバージョンとwebpacker
のバージョンが問題であるようです。
nodeのバージョンを下げてwebpackerのバージョンも下げると治ります。
nodeのバージョンを下げる
僕はnodenvを使ってバージョンを管理しています。
nodeを18系から16系へ下げました。
nodenv local 16.13.1
webpacker
のバージョンを下げる
webpackerはrails6のパッケージ管理ツールです。
rails6ではこのGemがデフォルトでフロントエンドのパッケージを管理してくれます。
Gemfileの記述を5から4に更新します。
gem 'webpacker', '~> 4.0'
この状態でbundle
し直せばエラーを解消できます。