Primero, el despliegue de Heroku falló `código de error = H10`

Implementé mi aplicación para Heroku. Es una aplicación node.js + express + socket.io y este es el archivo package.json

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

Este es el registro que obtengo:

 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é significa eso?

Encontré una solución para mí aquí: Error de Heroku + node.js (el proceso web no se pudo vincular a $ PORT dentro de los 60 segundos posteriores al lanzamiento)

En mi caso, mi aplicación se bloqueó porque estaba configurando el PORT, en lugar de usar el puerto que heroku establece dinámicamente, al que se puede acceder con 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); }); 

Acabo de tener un problema similar con mi aplicación, tuve el problema después de una migración de la base de datos, después de probar muchas opciones, la que me ayudó fue esta:

 heroku restart 

(Usando Heroku toolbelt para mac)

en mi caso agregando process.env.PORT || 3000 process.env.PORT || 3000 en mi script del servidor http, resuelto. Mi registro heroku reportó el error ‘H20’ y el estado de http 503.

En mi caso, encontré el mismo error porque hay una diferencia de versión de nodo y npm en mi máquina local y se define en la versión package.json.

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

cuando miro usando

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

cuando actualizo mi package.json a

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

Funciona bien 🙂

En mi caso, mi Procfile apuntaba al archivo incorrecto (bot.js que utilicé previamente) así que una vez que lo actualicé, el error desapareció.

También verifique su conexión a la base de datos. Olvidé cambiar mi conexión de base de datos de localhost y esto colapsó mi aplicación una vez que se envió a heroku.

En mi caso, recibí este error porque me niego a agregar un archivo de Procfile a mi aplicación node js y mi “principal”: “app.js” inicialmente apuntaba a otro archivo js como principal. haciendo estos chnages lo soluciono

Obtuve el mismo error anterior que “la aplicación se colgó” y el error H10 y los registros de la aplicación heroku no muestran mucha información relacionada con el error. Luego, reinicié los dinnos en heroku y luego se mostró el error que decía llaves adicionales en uno de los archivos index.js de mi configuración. El problema se corrigió una vez que se eliminó y se volvió a implementar la aplicación en heroku.

Espero que esto sea útil para alguien que enfrenta el mismo problema.

Enfrenté este mismo problema y ninguna de las respuestas anteriores me ayudó. Lo que hice fue ejecutar:

 node --version 

y en el paquete. json agregue la sección de motores con su versión de nodo:

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

La contraseña contenía un% me la rompió.

Tuve un error tipográfico

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

solía ser

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