Heroku-Push abgelehnt, keine von Cedar unterstützte App erkannt

110

Ich erstelle eine Rails-App mit Rails 3.1.3:

git init
git remote add heroku <my heroku repo>
git add .
git commit -a -m "First commit"
git push heroku master

Bekam:

Counting objects: 102, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (86/86), done.
Writing objects: 100% (102/102), 315.47 KiB, done.
Total 102 (delta 3), reused 0 (delta 0)

**-----> Heroku receiving push
 !     Heroku push rejected, no Cedar-supported app detected**

To [email protected]:electric-dusk-3217.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to <my heroku rep>
WEISSE FARBE
quelle
Hast du versucht zu rennen heroku create [appname]?
Wirbel
Ich habe eine App auf dem Zedernstapel erstellt: heroku create --stack cedar
WHITECOLOR
5
Was bedeutet dieser Fehler eigentlich?
Himmators

Antworten:

155

Ich hatte ein ähnliches Problem, aber mit Django (fälschlicherweise "Anforderungen.txt" genannt). Ich denke, um die anderen Antworten hier zu verallgemeinern, wenn Sie diesen Fehler erhalten, liegt es daran, dass Heroku eine Schlüsseldatei fehlt, mit der es Ihre App (und ihren Typ) identifiziert.

  • php: index.php
  • Python: Anforderungen.txt
  • ruby: Gemfile # beachte die Großschreibung
  • Knoten: package.json
JnBrymn
quelle
6
Eine andere Antwort auf dieses Problem finden Sie hier (initialisieren Sie das Git-Repo neu): stackoverflow.com/questions/9305370/…
Chris
Freundliche Erinnerung: Haben Sie auch ein Procfile. Wenn Sie eine Web-App ausführen, stellen Sie sicher, dass ein Webservice über Procfile aktiviert ist, der auf das richtige Skript verweist. Stellen Sie außerdem sicher, dass der Web-Dyno für die App in Heroku admin aktiviert ist. remote: ----->Discovering process types...Procfile declares types -> webist über mein Procfile
Marc
Vielen Dank, das Hinzufügen von require.txt hat mir geholfen! Bitte beachten Sie, dass Sie es
festschreiben
48

Das Problem war, dass meine "Gemfile" "gemfile" hieß

WEISSE FARBE
quelle
@ Whitecolor Hatte genau das gleiche Problem und Ihre Lösung hat funktioniert! Dann stieß ich auf andere komplizierte Probleme. Aber danke.
Tony
1
Dies geschah nicht nur für mich, sondern auf nicht offensichtliche Weise. GemfileWenn ich unter OSX arbeite, vi gemfileöffnet sich meine Datei , selbst wenn sie aufgerufen wird Gemfile, und benennt sie beim Speichern gemfileohne Vorwarnung um!
B Sieben
Ich denke, dies ist ein guter Grund, eine Partition einzurichten, die zwischen Groß- und Kleinbuchstaben unterscheidet ...
B Sieben
2
Was ist das "Gemfile"? Ich habe ein HTML-Spiel und ich möchte es in Heroku schieben. und ich bekomme den gleichen Fehler
Alaeddine
45

Ich bin auf diese Fehlermeldung gestoßen, aber mein Problem war, dass sich meine Rails-App nicht im Stammverzeichnis meines Git-Repos befand. Nachdem ich die Dateien in das Stammverzeichnis verschoben hatte, funktionierte alles.

ncherro
quelle
3
Das scheint eine schlechte Lösung zu sein. Gibt es eine geeignete Möglichkeit, die App zu pushen, während sie sich in einem Unterverzeichnis befindet?
y0mbo
1
Ich benutze Git-Teilbaum . Ich hatte Probleme bei der Installation, also habe ich diese Hilfe verwendet
Rian Rainey
Ich hatte das gleiche Problem - ich habe gerade mit dem Heroku angefangen, das für RoR gestartet wurde, und bin auf dieses Problem gestoßen. Danke für die Fehlerbehebung.
Mahendra Liya
Ich überprüfte immer wieder die Kommandozeile und sie war "korrekt", aber dann bemerkte ich, dass ich in / home / myapp / myapp war ... doh ...
Will
Mein Fall auch. Ich habe git initmeinen App-Ordner als Git-Stammverzeichnis, dann ging der Push zu Heroku durch. Vielen Dank.
Sophia Feng
26

Heroku erkennt eine unterstützte App, indem es nach bestimmten Projektdateien sucht. Um die Anforderungen für Ihre Sprache zu finden, beginnen Sie hier .

Patrick Fisher
quelle
22

Nicht mit einer neuen App verbunden, aber ... Ich habe dieselbe Fehlermeldung erhalten, nachdem ich ein benutzerdefiniertes BUILDPACK auf Heroku installiert und es dann vergessen habe. Als ich das nächste Mal zu Heroku ging, sah ich:

-----> Fetching custom git buildpack... done

 !     Push rejected, no Cedar-supported app detected

Die Lösung bestand darin, Folgendes zu überprüfen:

 heroku config

Und dort fand ich einen Var namens, BUILDPACK_URLden ich deaktivieren musste:

heroku config:unset BUILDPACK_URL

... und voila!

pdobb
quelle
Wow, das war eine schwierige Frage. Vielen Dank!
Alexander Presber
12

Eine andere Ursache: Ich habe Master gedrückt, während ich an einem Nicht-Master-Zweig gearbeitet habe. Mein Hauptzweig hatte keine Anforderungen.txt.

Ich wollte nicht vom Meister pushen, aber Heroku achtet nur auf den Meisterzweig. Die Lösung bestand darin, meine lokale Niederlassung in die Hauptniederlassung von Heroku zu verschieben:

git push heroku local_branch:master
japhyr
quelle
2
Sie sind mein Held ! Ich habe stundenlang versucht, dies zu finden> <
Laurent
7

Eine weitere Ursache für diesen Fehler bei Rails-Apps: Dieser Bereitstellungsfehler trat auf, wenn wir keinen Git-Merge-Konflikt aus unserer Gemfile.lock-Datei entfernt hatten.

James P McGrath
quelle
3

Ich hatte das gleiche Problem. "Gemfile" wurde in ".gitignore" aufgenommen und war daher nicht Teil der Bereitstellung. Heroku benötigt Gemfile für Rails-Projekte.

Alexei Danchenkov
quelle
3

Ich habe dies behoben, indem ich eine oberflächliche Änderung an meinem Gemfile vorgenommen und erneut festgelegt habe. Aus irgendeinem Grund war es nicht in meinem letzten Commit enthalten.

Dan Sandland
quelle
3


Ich habe hier das gleiche Problem getroffen.
Meine Prüfung lautet wie folgt:
1. Stellen Sie sicher, dass "Foreman Start" lokal gut funktioniert.
2. Stellen Sie sicher, dass nur eine neue App in Ihrem Heroku-Konto erstellt wird.
Hoffe es hilft.

Evan Lin
quelle
3

Ich habe die Schritte von RailsTutorial.org befolgt und dieser Fehler wurde angezeigt . Keine der Antworten auf diesen Beitrag hat funktioniert. Dann sah ich diesen Kommentar , der zu dieser Antwort führte, die das einzige war, was für mich funktionierte, um auch die Probleme anderer Leute mit dem Tutorial zu lösen.

2016rshah
quelle
Ich denke, die Ursache ist, dass ich das Repo im übergeordneten Verzeichnis des RAIL_PROJECT-Verzeichnisses initiiere. Make Cedar kann also nicht erkennen, um welchen App-Typ es sich handelt. Danke für deine Antwort!
Robert
2

Ich hatte auch das Problem mit der Django-basierten App. Alles schien in Ordnung zu sein: Dateinamen und andere Einstellungen.

Das Problem war, dass in der Heroku-Konsole eine BUILDPACK_URLEinstellung definiert war für node.js- daher wurde die Django-Anwendung abgelehnt.

Opal
quelle