wake-up-neo.com

Beim ersten Heroku-Einsatz ist der Fehlercode = H10 fehlgeschlagen

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?

59
ilyo

Für mich hier Lösung gefunden: Heroku + node.js Fehler (Web-Prozess konnte sich nicht innerhalb von 60 Sekunden nach dem Start an $ PORT binden)

In meinem Fall stürzte meine App ab, weil ich den PORT hart eingestellt hatte, anstatt den von heroku dinamicaly eingestellten Port zu verwenden, der mit process.env.PORT erreichbar ist.

app.listen(process.env.PORT || 3000, function(){
  console.log("Express server listening on port %d in %s mode", this.address().port, app.settings.env);
});
147
Martin Schaer

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 dies:

heroku restart

(Heroku Toolbelt für Mac verwenden)

29
clarenswd

in meinem Fall fügte ich process.env.PORT || 3000 zu meinem http-Server-Skript hinzu, das behoben wurde .

5
Ewertom Moraes

In meinem Fall habe ich denselben Fehler gefunden, da auf meinem lokalen Rechner ein Versionsunterschied zwischen Knoten und npm besteht und in package.json-Version definiert ist.

"engines": {
  "node": "0.8",
  "npm": "1.2.x"
}

wenn ich checke mit

node --version : v0.10.41
npm --version : 1.4.29

wenn ich meine package.json auf aktualisiere 

 "engines": {
  "node": "0.10.41",
  "npm": "1.4.29"
}

Es funktioniert gut :)

In meinem Fall wies mein Procfile auf die falsche Datei (bot.js, die ich zuvor verwendet habe), sodass der Fehler nach der Aktualisierung weg war.

2
Sina Meraji

Wenn Sie den Node Server lokal über nodemon starten, wie ich es getan habe, und es lokal funktioniert, versuchen Sie es mit npm start. Nodemon hat mir keine Fehler gemeldet, aber npm start hat mir eine Menge davon auf verständliche Weise erzählt und dann konnte ich sie lösen, indem ich anderen Beiträgen hier folgte. Ich hoffe es hilft jemandem.

1
Erik

Überprüfen Sie auch Ihre Datenbankverbindung. Ich habe vergessen, meine Datenbankverbindung von localhost zu ändern, und meine App stürzte ab, sobald sie auf heroku übertragen wurde. 

1
lindsaymacvean

Für mich war es Package.json, es war frei von Abhängigkeiten, obwohl ich dachte, ich hätte sie installiert. Also musste ich sie mit der Option --save am Ende neu installieren und überprüfen, ob sie der package.json hinzugefügt wurden Schieben Sie es erneut und es hat funktioniert.

1
Roman

Ich hatte einen Tippfehler 

const PORT = process.env.PORT||'8080';

war früher 

const PORT = process.env.port||'8080';

1
Omar

Ich war mit dem gleichen Problem konfrontiert und keine der obigen Antworten hat mir geholfen.

node --version

und fügen Sie in der package.json den Engines-Abschnitt mit Ihrer Knotenversion hinzu:

{
  "name": "myapp",
  "description": "a really cool app",
  "version": "1.0.0",
  "engines": {
    "node": "6.11.1"
  }
}
1

In meinem eigenen Fall habe ich diesen Fehler erhalten, weil ich mich weigere, eine Procfile zu meiner Knoten-Js-App hinzuzufügen, und mein "main": "app.js" zeigte anfangs auf eine andere js-Datei als main. Dadurch werden diese Probleme für mich behoben

1
Forest baba

Ich hatte dieses Problem, das einzige Problem war mein Procfile, mein Procfile war so

web : node index.js

und ich wechselte zu

web:node index.js

das einzige Problem waren Leerzeichen

1
Arian Nargesi

In meinem Fall habe ich vergessen, die Datenbank env für die Bereitstellung festzulegen Sie können env mit diesem Befehl festlegen (Ich verwende mLab für den MongoDB-Server.)

heroku config: setze MONGO_URI = 'mongodb: // address'

0
minjun youn

Passwort enthielt ein% brach es für mich.

0
Jack Stone

Mein Port wurde auf config.httpPort gesetzt, der in 80 aufgelöst wird. Ich habe es so behoben:

const PORT = process.env.PORT || config.httpPort;

app.listen(PORT, ...)

Vielen Dank, ich habe letzte Nacht viele Stunden verschwendet.

0
Tamal Anwar

Der H10-Fehlercode kann viele verschiedene Bedeutungen haben. In meinem Fall war das erste Mal, dass ich nicht wusste, dass Heroku nicht mit Sqlite3 kompatibel ist, das zweite Mal, dass ich versehentlich ein Update mit Google Analytics veröffentlicht habe, das sowohl in der Entwicklung als auch in der Produktion funktioniert.

0
Trevor Hauck

ich habe Body-Parser verwendet, der eine Ausnahme auslöst

const bodyParser = require('body-Parser')    
//Bodyparser Middleware
app.use(bodyparser.json())

anstatt zu verwenden

    //Bodyparser Middleware
    app.use(express.json())

dies löste mein Problem

0
S.Sid

Ich habe den gleichen Fehler wie "App abgestürzt" und H10-Fehler erhalten und die Heroku-App-Protokolle zeigen nicht viele Informationen im Zusammenhang mit dem Fehler msg-Gründe an. Dann habe ich die Dynos in Heroku neu gestartet, und dann wurde der Fehler angezeigt, dass eine zusätzliche geschweifte Klammer in einer der Dateien index.js in meinem Setup angegeben wurde. Das Problem wurde behoben, sobald es entfernt und die App auf Heroku erneut bereitgestellt wurde.

Ich hoffe, dies wird für jemanden hilfreich sein, der das gleiche Problem hat.

0
Praveen

Älterer Thread, aber für mich habe ich meine .env -Vars nicht in der Heroku-Konsole festgelegt.

0
Josh Lavely