我在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之后似乎都没有任何改变。
我还能尝试什么?
答案 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自己进行编译。似乎现在已经为我解决了这个问题。>
答案 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