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 git@heroku.com:electric-dusk-3217.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to <my heroku rep>

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

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ß


@ 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.


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


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!


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

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.


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.


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.


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.


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.


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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.