rails6はあまり使って開発したことがなく、半日以上時間がかかってしまったので、備忘録として、
内容
rails s でサーバー起動
デフォルトページは表示されていた?
ルーティングを設定して、簡単にtopページを表示しようとしたらエラー発生(Webpacker::Manifest::MissingEntryError)
・ruby 2.7.2
・rails 6.1.3
・mac os
原因
・Webpackerが上手くインストールされていない可能性
・Node.jsのバージョンとWebpackのバージョンが噛み合っていない可能性
・webpackerがコンパイルされていない
上記のようなことが原因みたいです。
解決策
①webpackをインストールする
rails webpacker:install
②node.jsをダウングレード
brew uninstall --ignore-dependencies nodejs
アンインストールが完了したら、Ver指定してインストール
(自分が行ったときはver14で上手くいきましたが、そうでないときは別verのご検討を!)
brew install node@14
環境変数にパスを設定
環境設定(.zshrc)を開く
vim ~/.zshrc
環境設定を開いたら、「i」キーを押して挿入モードに変更し、以下のパスを記述しましょう。
export PATH="/usr/local/opt/node@14/bin:$PATH"
変更完了後は「:wq」で上書き保存して終了
Webpackerを再インストール
rails webpacker:install
コマンドで上記流れで対応してもyarn installを求められました。
内容にしたがってyarnをインストール
yarn install
Webpackerをコンパイル
rails webpacker:compile
まとめ
参考サイトによっては
①webpackrをインストール②webpackerをコンパイル
だけで解決?するとのことが書かれていましたが、
当方はそれだけでは解決せずにかなり時間を無駄にしてしまったので、
同じようにエラーが出た方の助けになればと思います。
参考サイト
https://qiita.com/YutoYasunaga/items/9a7eaa0a4ca898535912
https://srainy-bookshelf.com/programing/2021-02-02#_Nodejs
https://qiita.com/negisys/items/2bf88659f584fe45b686#rails%E3%82%92%E5%A7%8B%E3%82%81%E3%82%88%E3%81%86%E3%81%A8%E3%81%97%E3%81%9F%E3%82%89%E3%81%95%E3%81%A3%E3%81%9D%E3%81%8F%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E9%81%AD%E9%81%87