132 votes

Le premier déploiement Heroku a échoué `error code=H10`.

J'ai déployé mon application sur Heroku. C'est une application node.js + express + socket.io et c'est le package.json fichier

{
  "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"
  }
}

Voici le journal que j'obtiens :

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=

Qu'est-ce que cela signifie ?

264voto

Martin Schaer Points 592

J'ai trouvé la solution ici : Erreur Heroku + node.js (le processus Web n'a pas réussi à se lier à $PORT dans les 60 secondes suivant le lancement)

Dans mon cas, mon application s'est plantée parce que j'ai paramétré le PORT en dur, au lieu d'utiliser le port qu'heroku définit de manière dynamique, qui peut être accédé avec process.env.PORT

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

64voto

clarenswd Points 48

Je viens d'avoir un problème similaire avec mon application, j'ai eu le problème après une migration de la base de données, après avoir essayé de nombreuses options, celle qui m'a aidé était la suivante :

heroku restart

(Utilisation de Heroku toolbelt pour mac)

20voto

Arian Nargesi Points 89

J'ai eu ce problème, le seul problème était que mon fichier Procfile était comme ceci

web : node index.js

et j'ai changé pour

web:node index.js

le seul problème était les espaces

7voto

Dans mon cas, j'ai trouvé la même erreur car il y a une différence de version de node et de npm sur ma machine locale et définie dans la version du package.json.

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

quand je vérifie en utilisant

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

quand je mets à jour mon package.json en

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

Cela fonctionne bien :)

6voto

Ewertom Moraes Points 101

Dans mon cas, en ajoutant process.env.PORT || 3000 à mon serveur http script, résolu. Mon journal heroku a signalé une erreur 'H20' et un statut http 503.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X