Ruby on rails ActionView::Template::Error(在/app/public/packs/manifest.json中找不到sales.js。webpack还在编译吗?)

Ruby on rails ActionView::Template::Error(在/app/public/packs/manifest.json中找不到sales.js。webpack还在编译吗?),ruby-on-rails,heroku,webpacker,Ruby On Rails,Heroku,Webpacker,我刚在Heroku上托管的Rails 5.1.1应用程序中出现了这个错误 2017-06-22T05:15:05.148829+00:00 app[web.1]: F, [2017-06-22T05:15:05.148717 #4] FATAL -- : [ef509b29-8637-41b3-8224-4423dbf2b2ed] 2017-06-22T05:15:05.148948+00:00 app[web.1]: F, [2017-06-22T05:15:05.148883 #4] FAT

我刚在Heroku上托管的Rails 5.1.1应用程序中出现了这个错误

2017-06-22T05:15:05.148829+00:00 app[web.1]: F, [2017-06-22T05:15:05.148717 #4] FATAL -- : [ef509b29-8637-41b3-8224-4423dbf2b2ed]
2017-06-22T05:15:05.148948+00:00 app[web.1]: F, [2017-06-22T05:15:05.148883 #4] FATAL -- : [ef509b29-8637-41b3-8224-4423dbf2b2ed] ActionView::Template::Error (Can't find sales.js in /app/public/packs/manifest.json. Is webpack still compiling?):
2017-06-22T05:15:05.149203+00:00 app[web.1]: F, [2017-06-22T05:15:05.149103 #4] FATAL -- : [ef509b29-8637-41b3-8224-4423dbf2b2ed]     1: %div#sale
2017-06-22T05:15:05.149206+00:00 app[web.1]: [ef509b29-8637-41b3-8224-4423dbf2b2ed]     2: = javascript_pack_tag 'sales'
2017-06-22T05:15:05.149297+00:00 app[web.1]: F, [2017-06-22T05:15:05.149231 #4] FATAL -- : [ef509b29-8637-41b3-8224-4423dbf2b2ed]
2017-06-22T05:15:05.149398+00:00 app[web.1]: F, [2017-06-22T05:15:05.149328 #4] FATAL -- : [ef509b29-8637-41b3-8224-4423dbf2b2ed] app/views/sales/new.html.haml:2:in `_app_views_sales_new_html_haml___2340659139987297731_36903000'
2017-06-22T05:15:07.004434+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=planetlauncher.herokuapp.com request_id=8bca0b65-0d4a-494f-88c7-a4b31c2ff6dc fwd="202.163.79.6" dyno=web.1 connect=1ms service=2ms status=200 bytes=143 protocol=https
只有一条路线

Rails.application.routes.draw do
  root 'sales#new'
  resources :sales
end
我的应用程序只有一个视图:

# sales/new.html.haml
%div#sale
= javascript_pack_tag 'sales'
视图被加载时位于
app/javascript/packs/sales.jsx的React组件替换

该应用程序在开发过程中完美无瑕,我在推送之前运行了
rails assets:precompile
,并部署到Heroku


编辑:完整源代码可用

根据此github线程的
@gauravtiwari

因此,要么-从gitignore中删除[the
/public/packs
行],要么不在本地和本地预编译 让heroku来做,即删除公共/资产文件夹

顺便说一句,有一个gotcha-webpacker:编译依赖于资产:预编译,所以最好是将其留给Heroku,而不要在本地编译资产

因此,按照他的建议,我
git revert
my提交了在本地预编译的资产,一切都开始工作

您可以执行我所做的操作,也可以运行
rm-rf/public/assets
来删除预编译的资产

我想您可以更进一步,将
/public/assets
添加到
.gitignore
中,以确保将来不会有人意外编译资产

我之所以不提这个问题,是因为我从一个香草rails应用程序中得到了这种奇怪的东西,因为它帮助了其他人,所以肯定会有人碰到我并对我的答案进行投票;)