Rake-Aufgaben konnten nicht gefunden werden

8
%Vor%

Ich habe keine Rake-Aufgaben, die ich automatisch ausführen möchte. Sollte ich diese Warnung einfach ignorieren?

    
Dmitry 06.12.2013, 11:22
quelle

4 Antworten

1

Sie können auch versuchen, user-env-compile

zu aktivieren %Vor%     
dwaynemac 31.01.2014, 14:09
quelle
4

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

ausführen

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.

Referenz: Zeige Rakefile-Fehler in Ruby-Deployments

    
B Seven 06.12.2013 17:52
quelle
4

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:

  • wenn die assets:precompile Aufgabe nicht existiert oder
  • wenn im Rakefile ein Fehler auftritt.
    • Zwei häufige Ursachen für Fehler in der Rakefile sind die Referenzierung einer Abhängigkeit, die in der Produktion nicht verfügbar ist (z. B. rspec) oder
    • erwartet, dass eine Umgebungsvariable vorhanden ist.

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:

%Vor%     
user664833 07.01.2014 23:54
quelle
1

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.

    
etusm 26.08.2016 16:47
quelle

Tags und Links