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

Sim*_*per 5 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]: ):
Run Code Online (Sandbox Code Playgroud)

我有一个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"
}
Run Code Online (Sandbox Code Playgroud)

日志的最后一行很有趣:

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]: }
Run Code Online (Sandbox Code Playgroud)

json中的格式是否不正确?

我已经尝试过运行bundle exec rails webpacker:compile,这还不错,并且我还更新了binstub bundle exec rails webpacker:binstubs,在推向Heroku之后似乎都没有任何改变。

我还能尝试什么?

Han*_*oh. 8

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

在那之后,它是固定的

  • 我的英雄!!!如果你在温哥华,我会带你出去吃午饭。 (3认同)
  • 我尝试了很多事情,真的......很多事情,但这一个对我有用 (2认同)

And*_*ein 0

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

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