Heroku: "Kein Standard-Sprache festgestellt werden konnte, die für diese app" - Fehler geworfen für die Knoten-app
Lerne ich NodeJS und natürlich bin ich nach hat verschiedene Projekte, organisiert durch die Sektionen. Ich habe alle Projekte unter einem Hauptordner, das ist auch ein git-repository.
Jeder dieser Unterordner in den Hauptordner ist ein Knoten-Projekt von selbst, komplett mit package.json
und damit verbundene Abhängigkeiten in node_modules
. Das problem ist, wenn ich versuchte, schieben Sie die Knoten-app in einem Ordner(todo-api
) , heroku, bekomme ich die folgende Fehler -
remote: Compressing source files... done.
remote: Building source:
remote:
remote: ! No default language could be detected for this app.
remote: HINT: This occurs when Heroku cannot detect the buildpack to use for this application automatically.
remote: See https://devcenter.heroku.com/articles/buildpacks
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to agile-forest-32749.
remote:
To https://git.heroku.com/agile-forest-32749.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/agile-forest-32749.git'
Dies ist die Verzeichnis-Struktur für die Projekt -
Ich beschlossen, umgestalten, aus der todo-api
Unterordner in einem neuen Projekt ganz von selbst, und dieses mal die push Heroku funktioniert Prima -
Ich verstehe nicht, warum bekomme ich den "kein Standard-Sprache" - Fehler, vor allem, wenn die Knoten-app ist genau das gleiche in beiden Orten. Irgendwelche Gedanken?
InformationsquelleAutor Manish Giri | 2017-04-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Heroku hat eine Reihe von Standard-buildpacks, verwendet, wenn es Bedürfnisse zu erkennen, die Sprache der app.
Um dies zu tun, Erkennung, es läuft die
bin/detect
Befehl von jedem dieser Standard-buildpacks, bis einer von Ihnen gibt ein 0 exit-code.Dies ist der Befehl für den Knoten buildpack.
Wie Sie sehen können, erfordert es eine
package.json
sich in der root der app, nicht in einem Unterordner.Dies ist der Unterschied, dass Ihr build fehlschlägt. Sie benötigen, um Ihre app in das Stammverzeichnis von Ihrem git-repository.
InformationsquelleAutor Damien MATHIEU
In meinem Fall, ich hatte nicht Heroku in den root-Ordner, weil mein GitHub-repository wurde aufgeteilt in frontend/ und backend/ Ordner. Jeder von Ihnen hatte eine Paket.json. Da Heroku Bedürfnisse der Paket.json - Datei im root-Ordner des Repositorys, es kann nicht erkennen, die Sprache.
In meinem Fall hatte ich zum initialisieren einer sekundären GitHub-repository, in dem backend/ Ordner. Nachdem die backend-Projekt wurde bis zu GitHub als separates Projekt
git push heroku master
gearbeitet.InformationsquelleAutor Robin Wieruch