无法推送到 Heroku:Sprockets::FileNotFound:找不到 application.css
Fails to push to Heroku: Sprockets::FileNotFound: could not find application.css
我以前可以毫无问题地推送到 Heroku。进行了一些似乎与我的问题无关的更改后,它无法推送到 Heroku。在 git push heroku
我收到错误:
...
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 .
有没有人知道可能导致问题的原因以及如何处理?如果我可以通过重置某些东西来解决它,那么这是一个选项,因为该应用程序尚未上线,因此不存在丢失数据的风险。
根据研究,可能有一些选择:
1) 只需将 config.serve_static_assets 设置为 true
2) push 前做一个rake assets:precompile ,也看看有没有错误
3) .git 文件在 git 目录
中损坏
我联系了 Heroku,他们将其描述为 slug 缓存问题。使用 purge_cache 清除缓存解决了它。
我知道有人问过关于 Heroku 的问题,但我在 EngineYard 上偶然发现了同样的问题并找到了解决方案。由于我的代表率仍然很低,而且我无法将其添加为评论,因此我将其发布为答案,尽管对于一个略有不同的问题...
首先确保您的资产根本没有被编译(因为这是发生错误的地方)。
只需将这两行添加到 /config/ey.yml
precompile_assets: false
precompile_unchanged_assets: false
然后使用 rake 任务部署您的代码:rake tmp:cache:clear
(清除 tmp/cache)或 rake tmp:clear
(清除所有缓存和套接字文件)
我以前可以毫无问题地推送到 Heroku。进行了一些似乎与我的问题无关的更改后,它无法推送到 Heroku。在 git push heroku
我收到错误:
...
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 .
有没有人知道可能导致问题的原因以及如何处理?如果我可以通过重置某些东西来解决它,那么这是一个选项,因为该应用程序尚未上线,因此不存在丢失数据的风险。
根据研究,可能有一些选择: 1) 只需将 config.serve_static_assets 设置为 true 2) push 前做一个rake assets:precompile ,也看看有没有错误 3) .git 文件在 git 目录
中损坏我联系了 Heroku,他们将其描述为 slug 缓存问题。使用 purge_cache 清除缓存解决了它。
我知道有人问过关于 Heroku 的问题,但我在 EngineYard 上偶然发现了同样的问题并找到了解决方案。由于我的代表率仍然很低,而且我无法将其添加为评论,因此我将其发布为答案,尽管对于一个略有不同的问题...
首先确保您的资产根本没有被编译(因为这是发生错误的地方)。 只需将这两行添加到 /config/ey.yml
precompile_assets: false
precompile_unchanged_assets: false
然后使用 rake 任务部署您的代码:rake tmp:cache:clear
(清除 tmp/cache)或 rake tmp:clear
(清除所有缓存和套接字文件)