Ich habe meine App für Heroku bereitgestellt. Es ist eine node.js + express + socket.io App und dies ist die package.json
Datei
{
"name": "game_test",
"author": "Ilya",
"description": "A test app for our board game",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node app"
},
"dependencies": {
"express": "3.0.6",
"jade": "*",
"socket.io" : "*"
},
"engines": {
"node": "0.8.14"
}
}
Dies ist das Protokoll, das ich bekomme:
heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=game-test-1.herokuapp.com fwd=37.26.146.185 dyno= queue= wait= connect= service= status=503 bytes=
heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=game-test-1.herokuapp.com fwd=37.26.146.185 dyno= queue= wait= connect= service= status=503 bytes=
Was heißt das?
heroku restart
starten Sie es erneut, damit Sie sehen können, wie es erneut abstürzt.Antworten:
Hier wurde für mich eine Lösung gefunden: Heroku + node.js-Fehler (Webprozess konnte nicht innerhalb von 60 Sekunden nach dem Start an $ PORT gebunden werden)
In meinem Fall stürzte meine App ab, weil ich den PORT nur schwer einstellen konnte, anstatt den von Heroku Dinamicaly festgelegten Port zu verwenden, auf den zugegriffen werden kann
process.env.PORT
quelle
Ich hatte gerade ein ähnliches Problem mit meiner App. Ich bekam das Problem nach einer Migration der Datenbank. Nachdem ich viele Optionen ausprobiert hatte, half mir Folgendes:
(Verwenden des Heroku-Toolbelt für Mac)
quelle
In meinem Fall habe ich denselben Fehler gefunden, da auf meinem lokalen Computer ein Versionsunterschied zwischen Knoten und npm besteht, der in der Version package.json definiert ist.
wenn ich mit überprüfe
wenn ich meine package.json auf aktualisiere
Es funktioniert gut :)
quelle
in meinem Fall das Hinzufügen
process.env.PORT || 3000
zu meinem http-Server-Skript behoben. Mein Heroku-Protokoll hat den Fehler 'H20' und den http-Status 503 gemeldet.quelle
Ich hatte dieses Problem, das einzige Problem war mein Procfile. Mein Procfile war so
und ich wechselte zu
Das einzige Problem waren Leerzeichen
quelle
In meinem Fall zeigte mein Procfile auf die falsche Datei (bot.js, die ich zuvor verwendet habe). Nach der Aktualisierung war der Fehler behoben.
quelle
Bei Verwendung von hapi18 entferne ich das Feld "Host" und setze den Port auf:
port: process.env.PORT || 5000
hat den Trick gemacht.quelle
Überprüfen Sie auch Ihre Datenbankverbindung. Ich habe vergessen, meine Datenbankverbindung von localhost zu ändern, und dies hat meine App zum Absturz gebracht, als sie auf Heroku übertragen wurde.
quelle
Ich hatte das gleiche Problem und keine der obigen Antworten hat mir geholfen. Was ich getan habe war gelaufen:
und fügen Sie in der Datei package.json den Engine-Abschnitt mit Ihrer Knotenversion hinzu:
quelle
Alter Thread, aber ich behebe dieses Problem, indem ich die PORT-Konstante auf process.env.PORT || setze
Aus irgendeinem seltsamen Grund wollte es zuerst nach Env suchen.
quelle
In meinem Fall habe ich diesen Fehler erhalten, weil ich mich weigere, ein Procfile zu meiner Knoten-JS-App hinzuzufügen, und mein "main": "app.js" zeigte ursprünglich auf eine andere js-Datei als main. Wenn ich diese Änderungen mache, wird das für mich behoben
quelle
Ich hatte einen Tippfehler
const PORT = process.env.PORT||'8080';
war früher
const PORT = process.env.port||'8080';
quelle
In meinem Fall habe ich vergessen, die Datenbankumgebung für die Bereitstellung festzulegen. Sie können env mit diesem Befehl festlegen (ich verwende mLab für MongoDB-Server).
heroku config: setze MONGO_URI = 'mongodb: // address'
quelle
Für mich war es Package.json, es war leer von Abhängigkeiten, obwohl ich dachte, ich hätte sie installiert. Also musste ich sie am Ende mit der Option --save neu installieren und überprüfen, ob sie zu package.json hinzugefügt wurden. Und dann Schieben Sie es erneut und es hat funktioniert.
quelle
Wenn Sie den Knotenserver lokal
nodemon
wie ich starten und es lokal funktioniert, versuchen Sie esnpm start
. Nodemon sagte mir keine Fehler, aber npm start erzählte mir viele davon auf verständliche Weise und dann konnte ich sie lösen, indem ich anderen Posts hier folgte. Ich hoffe es hilft jemandem.quelle
In meinem Fall gab es keinen Startbefehl im Skriptabschnitt der
package.json
Datei. Als ich diepackage.json
Datei mit erstelltnpm init
habe, habe ich keinen Startskriptbefehl erstellt. Also ging ich zurpackage.json
Datei und fügte unter Skripten einen neuen Eintrag hinzu:Gespeichert und auf Heroku hochgeladen und es hat funktioniert
quelle
Passwort enthielt ein% brach es für mich.
quelle
Mein Port wurde so eingestellt,
config.httpPort
dass er aufgelöst wird80
. Ich habe es dadurch behoben:Vielen Dank, es hat mich letzte Nacht viele Stunden verschwendet.
quelle
Der H10-Fehlercode kann viele verschiedene Bedeutungen haben. In meinem Fall war das erste Mal, weil ich nicht wusste, dass Heroku nicht mit Sqlite3 kompatibel ist, das zweite Mal, weil ich versehentlich ein Update mit Google Analytics veröffentlicht habe, das sowohl in der Entwicklung als auch in der Produktion funktioniert.
quelle
Ich habe den gleichen Fehler wie "App abgestürzt" und H10-Fehler erhalten und die Heroku-App-Protokolle zeigen nicht viele Informationen zu den Gründen für die Fehlermeldung. Dann habe ich die Dynos in Heroku neu gestartet und dann wurde der Fehler angezeigt, dass in einer der index.js-Dateien in meinem Setup eine zusätzliche geschweifte Klammer angegeben ist. Das Problem wurde behoben, sobald es entfernt und die App auf Heroku erneut bereitgestellt wurde.
quelle
Älterer Thread, aber für mich habe ich meine
.env
Vars nicht in der Heroku-Konsole eingestellt.quelle
Ich habe Body-Parser verwendet, die eine Ausnahme auslösen
anstelle von verwenden
Dies löste mein Problem
quelle
Ich möchte hier registrieren, was meine Lösung für diesen Fehler war, bei dem es sich um eine einfache Datei handelte, die nicht auf Github aktualisiert wurde.
Ich habe ein Full-Stack-Projekt und meine Dateien sind sowohl im Stammverzeichnis für das Backend als auch im Client für das Frontend strukturiert (ich verwende React.js). Alles war darauf zurückzuführen, dass ich den Client-Ordner fälschlicherweise nur an Github verschoben habe und alle meine Änderungen, bei denen ein Fehler aufgetreten ist (ein Komma in der Instanz eines Objekts in meiner index.js fehlt), im Backend nicht aktualisiert wurden. Da dieses Heroku alle Updates aus dem Github-Repository abruft, konnte ich nicht auf meinen Server zugreifen und der Fehler blieb bestehen. Dann musste ich nur noch festschreiben und in das Stammverzeichnis verschieben und alle Änderungen des Projekts aktualisieren, und alles funktionierte wieder.
quelle
In meinem Fall hatte ich Code = H10 und Status = 503, weil mein Procfile:
und ich inbegriffen / build in .gitignore
quelle
Ich habe stundenlang mit dem gleichen Fehler zu kämpfen, aber ich konnte ihn lösen. Ich habe multer und aws-sdk versehentlich als devDependencies installiert, anstatt nur als Abhängigkeiten. Wenn Sie also denselben Fehler haben, überprüfen Sie einfach Ihre package.json-Datei.
Auch ein kleiner Tipp für die Eigenschaft der Engine in package.json.
quelle
Ich habe das Python Django-Framework bereitgestellt, als ich diesen Fehler erhielt, weil ich vergessen habe,
web: gunicorn plaindjango.wsgi:application --log-file -
stattdessen meinen App-Namen einzugebenplaindjango
quelle