質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

0回答

469閲覧

Vue.jsのエラー「Webpacker::Manifest::MissingEntryError」について

keigo555

総合スコア1

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2021/07/03 01:39

前提・実現したいこと

以下のページを参考にRails×Vue.jsの環境構築を行っていますが、標題のエラーが解決できません。

https://www.petitmonte.com/ruby/rails-vuejs-project.html

調べてみた限りでは、public/packs/js配下のファイル設定の問題か、Webpackerとその他パッケージの
バージョン互換の問題のような気がしていますが、解決の糸口がつかめていません。

プログラミング実務未経験かつWebpackerは触り始めて3日目程度なので、
前提の知識が抜けているだけかもしれませんが、ご回答いただけますと幸いです。

発生している問題・エラーメッセージ

Webpacker::Manifest::MissingEntryError

※ルートページに設定したCat#indexのページです。 Showing /home/ec2-user/environment/app/app/views/layouts/application.html.erb where line #10 raised: Webpacker can't find hello_vue in /home/ec2-user/environment/app/public/packs/manifest.json. Possible causes: 1. You want to set webpacker.yml value of compile to true for your environment unless you are using the `webpack -w` or the webpack-dev-server. 2. webpack has not yet re-run to reflect updates. 3. You have misconfigured Webpacker's config/webpacker.yml file. 4. Your webpack configuration is not creating a manifest. Your manifest contains: { "application.js": "/packs/js/application-0ece40a053943826c961.js", "application.js.map": "/packs/js/application-0ece40a053943826c961.js.map", "entrypoints": { "application": { "js": [ "/packs/js/application-0ece40a053943826c961.js" ], "js.map": [ "/packs/js/application-0ece40a053943826c961.js.map" ] } } } Extracted source (around line #10): 8 <%= stylesheet_link_tag 'application', media: 'all' %> 9 <%= javascript_pack_tag 'application' %> 10 <%= javascript_pack_tag 'hello_vue' %> 11 </head> 12 13 <body>

該当のソースコード

上で指定した以下URLのソースコードのままです。
https://www.petitmonte.com/ruby/rails-vuejs-project.html

試したこと

エラー文をGoogle検索の上、以下を実施

https://qiita.com/Tarako_mochi/items/b983d530234a984eb61e
gem 'webpacker', '> 4.0'をgem 'webpacker', '> 5.0'に変更し、

$ bundle install
$ rails webpacker:install
$ rails webpacker:install:vue
$ rails server

→解決せず。
ちなみに、記事で書かれているpublicフォルダ以下のpacksフォルダとmanifest.jsonファイルは作成されていました。

https://qiita.com/kazumawada/items/f7c3cafcf01ed9757a78
この記事と違い、コンテナ化はしていませんが、yarn install と yarn upgradeを実施
→解決せず。

https://qiita.com/shizen-shin/items/38fd774ffc87bc8838c9
・config/webpacker.ymlのcompile設定確認→trueになっている
・webpackが再起動されていないためか→rails newでwebpackをインストールしたばかり
・webpacker.ymlの設定をいじっているか→変更していない
・webpackの環境設定がmanifestを生成してないか→manifest.jsonは存在(ただし、application.jsの記載のみでhello_vueの記載はない)
また、public/packs/js配下にはapplication.js関連のファイルは生成されているが、hello_vue.js関連のファイルはない。
イメージ説明

上記に関連して、以下から10 <%= javascript_pack_tag 'hello_vue' %>を削除するとエラーは消えます。

Extracted source (around line #10): 8 <%= stylesheet_link_tag 'application', media: 'all' %> 9 <%= javascript_pack_tag 'application' %> 10 <%= javascript_pack_tag 'hello_vue' %> 11 </head> 12 13 <body>

javascript_pack_tag 'application'は読み込めており、hello_vueが読み込めていないようです。
public/packs/js配下にhello_vue関連のファイルがあればエラーは消えるでしょうか?
その場合、hello_vue関連のファイルは自動生成されるものではないのでしょうか?

Webpackのビルドも失敗

Webpacker::Manifest::MissingEntryError

$ bin/webpack /home/ec2-user/environment/app/node_modules/webpack-cli/bin/cli.js:93 throw err; ^ Error: vue-loader requires @vue/compiler-sfc to be present in the dependency tree. at Object.<anonymous> (/home/ec2-user/environment/app/node_modules/vue-loader/dist/index.js:8:11) at Module._compile (/home/ec2-user/environment/app/node_modules/v8-compile-cache/v8-compile-cache.js:192:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) at Module.load (internal/modules/cjs/loader.js:653:32) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) at Function.Module._load (internal/modules/cjs/loader.js:585:3) at Module.require (internal/modules/cjs/loader.js:692:17) at require (/home/ec2-user/environment/app/node_modules/v8-compile-cache/v8-compile-cache.js:159:20) at Object.<anonymous> (/home/ec2-user/environment/app/config/webpack/environment.js:2:29) at Module._compile (/home/ec2-user/environment/app/node_modules/v8-compile-cache/v8-compile-cache.js:192:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) at Module.load (internal/modules/cjs/loader.js:653:32) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) at Function.Module._load (internal/modules/cjs/loader.js:585:3) at Module.require (internal/modules/cjs/loader.js:692:17) at require (/home/ec2-user/environment/app/node_modules/v8-compile-cache/v8-compile-cache.js:159:20) at Object.<anonymous> (/home/ec2-user/environment/app/config/webpack/development.js:3:21) at Module._compile (/home/ec2-user/environment/app/node_modules/v8-compile-cache/v8-compile-cache.js:192:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) at Module.load (internal/modules/cjs/loader.js:653:32) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) at Function.Module._load (internal/modules/cjs/loader.js:585:3) at Module.require (internal/modules/cjs/loader.js:692:17) at require (/home/ec2-user/environment/app/node_modules/v8-compile-cache/v8-compile-cache.js:159:20) at WEBPACK_OPTIONS (/home/ec2-user/environment/app/node_modules/webpack-cli/bin/utils/convert-argv.js:114:13) at requireConfig (/home/ec2-user/environment/app/node_modules/webpack-cli/bin/utils/convert-argv.js:116:6) at /home/ec2-user/environment/app/node_modules/webpack-cli/bin/utils/convert-argv.js:123:17 at Array.forEach (<anonymous>) at module.exports (/home/ec2-user/environment/app/node_modules/webpack-cli/bin/utils/convert-argv.js:121:15) at yargs.parse (/home/ec2-user/environment/app/node_modules/webpack-cli/bin/cli.js:71:45)

補足情報(FW/ツールのバージョンなど)

・cloud9(​Amazon Linux AMI)
・Rails6.0.0
・MySQL5.5.62
・Webpacker:4.0(途中5.0に変更しbundle update)
・Vue.js:vue@2.6.14
・npm:6.14.12
・node:v10.24.1
・非コンテナ環境

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問