以前、rails 6でチュートリアルを進めるときに発生する「Webpacker::Manifest::MissingEntryError」のエラーについて記事を書きました。
この解決方法をネットで見つけたのでシェア致します。
Rails 6: Webpacker::Manifest::MissingEntryError - DEV Community
https://dev.to/dani8439/rails-6-webpacker-manifest-missingentryerror-4fi7
英語なので読むのに時間がかかりますが、ここに問題の解決方法が載っていました。
具体的に何が書いてあるかと言いますと……
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
の行を削除したり書き換えても、根本的な解決にはならない。
根本的に解決するためには、次の順番でコマンドを実行し、データを上書きする必要がある。
bundle install
rails db:migrate
rails webpacker:install
yarn install
rails server
このようにすれば問題は解決する。
というものでした。
実際、この通りにターミナルに打ち込んでみたら、無事動くようになりました!
自分もよく理解できていないのですが、つまりwebpackerをインストールしたあとに、もう一度yarn installを実行すると、古いデータが上書きされてwebpackerが問題なく機能するようになる。という認識で良さそうです。
自分もまだ見落としていることがありそうなので、色々調べてみたいと思います。
それにしても、英語の記事だからといって食わず嫌いせず、ちゃんと読むことが大事だと思いました。たぶん日本語の記事だけ読んでいたら解決しないままだったと思います。英語最高!!
他にもいくつかの記事を参考にしたので、下にリンクを貼っておきます。
Cloud9でRails6の準備 | Skillhub[スキルハブ]
https://skillhub.jp/courses/134/lessons/785
とか
[初学者向け]cloud9でRails開発用サーバーを立ち上げる方法|三城 情|note
https://note.com/jojoprogramer/n/n1fc91bac4fe3
とか
AWS cloud9でRailsを動かす
https://freelancepapa.com/aws-cloud9%E3%81%A7rails%E3%82%92%E5%8B%95%E3%81%8B%E3%81%99
とか
Railsで1日以上詰まったエラー - Qiita
https://qiita.com/negisys/items/2bf88659f584fe45b686
とか
[Rails] Webpacker::Manifest::MissingEntryErrorが表示された時の対処法 - Qiita
https://qiita.com/orizin/items/fab3e699691e39f50172
とか
Webpacker::Manifest::MissingEntryError | 雨男の本棚
https://srainy-bookshelf.com/programing/2021-02-02
とか
Webpackerとは (Rails6で rails s してエラーが出た時の話) - Qiita
https://qiita.com/nideratakumin/items/dda8cabc431ed6d6ee8c
とかですね。
いや、詰まってる人多すぎでは……(@_@;)
これじゃwebpackerどころかwebchokerだよ~(親父ギャグ)
最後にこれは推測なのですが
$ yarn install --check-files
はcloud9の場合は実行しなくて良い、とrailsチュートリアルに書かれていますが、実は本当は実行する必要があるのかも……
あとで検証してみます。
追記:
検証してみたところ、やっぱり
$ yarn install --check-files
を最初の時点でおこなっていてもエラーが出てきてしまいますね。
エラーが出たあとに
rails webpacker:install
を実行して
[Ynaqdhm]の選択肢で、全部”y”を選択することで解決されるみたいです。
うーん……難しい
おそらくrails用のフォルダを立ち上げたあとに、そのフォルダのwebpackerに対して更新を掛けている、といった感じなのかな。
とりあえずwebpacker周りのエラーが出た時は、その(master)内において、「$rails webpacker:install」→「$yarn install --check-files」の2つのコマンドをおこなえば解決するということで……