Heroku -Vorkompilierung von Vermögenswerten ohne Ergebnis
-
26-10-2019 - |
Frage
Ich verwende Heroku Cedar Stack für meine Rails -Anwendung und möchte, dass es das Vermögen während der Slug -Zusammenstellung vorkompiliert, weil ich mich nicht mit vorkundigten Sachen in Git beschäftigen möchte.
Jetzt näht es, dass alles in Ordnung sein sollte, wie während der Slug -Kompilierung das Protokoll:
Preparing app for Rails asset pipeline
Running: rake assets:precompile
/usr/local/bin/ruby /tmp/build_8bg62ph22vwj/vendor/bundle/ruby/1.9.1/bin/rake assets:precompile:nondigest RAILS_ENV=production RAILS_GROUPS=assets
Aber wenn ich versuche, auf die Site in zuzugreifen heroku logs
Ich bekomme:
2011-11-30T08:23:52+00:00 app[web.1]: ActionView::Template::Error (blueprint/screen.css isn't precompiled):
2011-11-30T08:23:52+00:00 app[web.1]: 22: <%= javascript_include_tag 'http://html5shiv.googlecode.com/svn/trunk/html5.js' %>
2011-11-30T08:23:52+00:00 app[web.1]: 23: <![endif]-->
2011-11-30T08:23:52+00:00 app[web.1]: 24: <%= javascript_include_tag 'application' %>
2011-11-30T08:23:52+00:00 app[web.1]: 25: <%= stylesheet_link_tag 'blueprint/screen', :media => 'screen' %>
…
Haben Sie eine Idee, wo das Problem sein kann?
Lösung
Haben Sie versucht, die App lokal bereitzustellen? Wenn ja, erhalten Sie das gleiche Ergebnis.
Wenn Sie die Asset -Pipeline verwenden, werden alle CSS über application.cSS standardmäßig bedient.
Können Sie Ihr Stylesheet -Tag ändern in:
<%= stylesheet_link_tag 'application' %>
Wenn dies in der Entwicklung korrekt angezeigt wird, sollte es auch in der Produktion funktionieren.
Wenn Sie diese Datei wirklich direkt einfügen müssen, müssen Sie alternativ ändern config/environments/production.rb
hinzufügen:
config.assets.precompile += %w( blueprint/screen.css )
Andere Tipps
Dominic Townsend gab absolut korrekte Problemquelle. Wie für Lösung hier ist eine sehr schöne Option in einer Antwort auf andere Frage zum Stapelüberlauf.