Ich habe gestern diesen merkwürdigen Fehler plötzlich bekommen. Heroku bestätigte das Update für das Ruby-Buildpack ...
Es hat mit dem Rakefile zu tun. Benötigt Ihr Rakefile irgendwelche Dateien? Benötigt es Ihre App-Dateien? Wenn dies der Fall ist, sollte die App keine Exceptions auslösen, wenn sie geladen wird, ohne dass config vars gesetzt ist.
Es ist kontraintuitiv, weil die App niemals ohne die konfigurierten Konfigurationsvariablen ausgeführt wird.
In meinem Fall suchte die Sinatra-App nach Datenbank-URLs in der init-Datei:
%Vor%Dies wird eine Ausnahme auslösen, wenn keine Umgebungsvariablen gesetzt sind.
Sie haben möglicherweise das gleiche Problem mit anderen Datenbank-URLs wie Mongo oder Postgres.
Schützen Sie sich also vor fehlenden env vars:
%Vor% Sie können überprüfen, ob es funktioniert, bevor Sie zu Heroku wechseln, indem Sie bundle exec rake -P
Stellen Sie außerdem sicher, dass alle Ihre Tests nach der Aktualisierung Ihrer Init bestehen. Entfernen Sie alle zwischengespeicherten Init-Status, indem Sie Spork oder ähnliches neu starten.
Mit Wirkung vom 05. Dezember 2013 hat Heroku die Debug-Ausgabe hinzugefügt, um mit dem Ruby-Buildpack zu implementieren .
>Der Fehler wird ausgelöst:
assets:precompile
Aufgabe nicht existiert oder Es ist kontraintuitiv, weil die App niemals ohne config vars läuft, aber Herokus Build-Prozess führt ohne config aus Vars .
Stellen Sie gemäß der Fehlermeldung sicher, dass Sie bundle exec rake -P RAILS_ENV=production
ohne Vorhandensein von Umgebungsvariablen ausführen können, bevor Sie zu Heroku wechseln (z. B. Umgebungsvariablen beim Ausführen des oben genannten Befehls auskommentieren).
Vergewissere dich auch, dass rake
s -P
switch harmlos ist, also kannst du es so oft ausführen, wie du willst, bis du dieses Problem behoben hast. Mit diesem Schalter wird eine Liste aller Aufgaben und ihrer unmittelbaren Voraussetzungen angezeigt. Siehe Rake Command Line Usage wenn Sie dies überprüfen möchten. Die Ausgabe hat möglicherweise% 200
-Zeilen und sieht ungefähr so aus:
FWIW Ich bin gerade auch auf dieses Problem gestoßen.
Es stellte sich heraus, dass ich config.assets.css_compressor = :sass
auskommentiert hatte, als es eine Rake-Aufgabe gab, die sich auf production.rb
bezog.
Sehr einfache Aufsicht, aber das würde dazu führen, dass rake assets:precompile
fehlschlägt und somit diesen Fehler verursacht.
Tags und Links heroku