2015-08-25 105 views
2

我曾經能夠毫無問題地推向Heroku。在做了一些與我的問題無關的更改之後,它沒能推到Heroku。在git push heroku我得到的錯誤:未能推向Heroku:鏈輪:: FileNotFound:找不到application.css

... 
remote: -----> Preparing app for Rails asset pipeline 
remote:  Running: rake assets:precompile 
remote:  rake aborted! 
remote:  Sprockets::FileNotFound: could not find file: /tmp/build_c657fd7***e8c75a3/app/assets/stylesheets/application.css 
remote:  /tmp/build_790d1e***cab4395/vendor/bundle/ruby/2.2.0/gems/sprockets-3.3.3/lib/sprockets/loader.rb:103:in `load_from_unloaded' 
remote:  /tmp/build_790d1***ab4395/vendor/bundle/ruby/2.2.0/gems/sprockets-3.3.3/lib/sprockets/loader.rb:60:in `block in load' 
... 
remote: !  Precompiling assets failed. 
remote: !  Push rejected, failed to compile Ruby app 
remote: !  Push rejected to ***. 

application.css確實存在在我的開發環境,包括:

*= require_self 
*= require universal 
*= require bootstrap-datepicker3 
*= require menu_header 
*= require table 
*= require wice_grid 
*= require_tree . 

有沒有人有一個想法,什麼可能導致的問題和怎麼辦呢?如果我可以通過重置某些東西來解決它,那麼這是一個選項,因爲應用程序還沒有生效,所以不會有丟失數據的風險。

回答

7

我聯繫了Heroku,他們將其描述爲slug緩存問題。使用purge_cache清除緩存解決了它。

+0

就是這樣!謝謝 –

+1

我也將此視爲Spring問題。您可以設置'heroku config:設置DISABLE_SPRING = 1'來禁用Heroku的彈簧。 – Schneems

0

根據研究可能有一些選項: 1)剛剛成立config.serve_static_assets真 2)使耙資產:前推預編譯,也看到如果你有git的文件中損壞的任何錯誤 3) git目錄

+0

感謝若昂。 1)放棄整個資產管道並不是我想要做的; 2)因爲我從不需要預編譯,所以我不認爲是這樣; 3)你有參考嗎?那麼我可能會發現如何確定這是否確實是原因以及如何解決它。 – Nick

0

我知道有人問Heroku的問題,但我偶然發現了EngineYard上的同一個問題,並找到了解決方案。由於我仍然有一個低代表,我無法添加此作爲評論我發佈這個答案,雖然對於一個稍微不同的問題...

首先確保您的資產根本沒有被編譯(因爲這是發生錯誤的地方)。 只需添加這兩條線來/config/ey.yml

precompile_assets: false 
precompile_unchanged_assets: false 

然後用耙子任務部署代碼:rake tmp:cache:clear(TMP清除/緩存)或rake tmp:clear(清除所有緩存和套接字文件)