Webpacker在manifest.json Heroku生产中找不到application.js

时间:2018-07-04 19:02:15

标签: heroku webpack

我在heroku上的应用出现了webpacker问题。

日志:

ActionView::Template::Error (Webpacker can't find application.js in /app/public/packs/manifest.json. Possible causes:
2018-07-04T18:47:08.192729+00:00 app[web.1]: 1. You want to set webpacker.yml value of compile to true for your environment
2018-07-04T18:47:08.192730+00:00 app[web.1]:    unless you are using the `webpack -w` or the webpack-dev-server.
2018-07-04T18:47:08.192733+00:00 app[web.1]: 2. webpack has not yet re-run to reflect updates.
2018-07-04T18:47:08.192734+00:00 app[web.1]: 3. You have misconfigured Webpacker's config/webpacker.yml file.
2018-07-04T18:47:08.192735+00:00 app[web.1]: 4. Your webpack configuration is not creating a manifest.
2018-07-04T18:47:08.192737+00:00 app[web.1]: Your manifest contains:
2018-07-04T18:47:08.192738+00:00 app[web.1]: {
2018-07-04T18:47:08.192740+00:00 app[web.1]: }
2018-07-04T18:47:08.192741+00:00 app[web.1]: ):

我有一个manifest.json文件,其中确实包含application.js

{
  "application.css": "/packs/application-c922057d6b9db34084d6e52c6f32baa9.css",
  "application.css.map": "/packs/application-c922057d6b9db34084d6e52c6f32baa9.css.map",
  "application.js": "/packs/application-ab33c1479403810d7775.js",
  "application.js.map": "/packs/application-ab33c1479403810d7775.js.map"
}

有趣的是日志的最后一行:

2018-07-04T18:47:08.192737+00:00 app[web.1]: Your manifest contains:
2018-07-04T18:47:08.192738+00:00 app[web.1]: {
2018-07-04T18:47:08.192740+00:00 app[web.1]: }

json中的格式是否不正确?

我尝试运行bundle exec rails webpacker:compile很好,并且我还更新了垃圾桶bundle exec rails webpacker:binstubs,在推送到Heroku之后似乎都没有任何改变。

我还能尝试什么?

6 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,花了几天的时间来解决。最终安装了webpacker 3.5,并且运行正常。

这不是最好的解决方案,但可以使我的应用程序启动。我试图解决这个问题。

答案 1 :(得分:1)

bundle exec bin/webpack-dev-server

此命令解决了我的问题。我是webpack的新手,所以我不知道如何/为什么。

答案 2 :(得分:1)

  • 我删除了文件夹node_modules
  • 然后在终端yarn add @rails/webpacker@next
  • 然后bundle exec rails webpacker:install

在那之后,它是固定的

答案 3 :(得分:0)

如果您仍然对此感到困惑,我将遇到完全相同的问题,并且似乎没有其他答案可以为我解决。这个GH线程建议确保资产不会在本地进行预编译(通过删除/public/assets/public/packs目录,从本质上鼓励Heroku自己进行编译。似乎现在已经为我解决了这个问题。

https://github.com/rails/webpacker/issues/532

答案 4 :(得分:0)

我遇到了完全相同的错误。如果尚未尝试,请尝试此操作。

运行bundle exec rails webpacker:install

检查控制台日志中的错误消息

The engine "node" is incompatible with this module. Expected version ">= 10.13.0". Got "10.0.0"
error Found incompatible module.

如果是,则可以通过3个步骤解决此问题:

$ node -v检查您的节点版本

$ nvm install 'required node version'更改节点版本

$ bundle exec rails webpacker:install将验证您的package.json,解析并提取所有软件包,链接并保存依赖项

答案 5 :(得分:0)

在我的情况下,以下步骤有助于解决webpacker找不到的新添加的打包文件

RAILS_ENV=staging rake  assets:clean

rake assets:clobber

RAILS_ENV=production rake assets:precompile