Implementé mi aplicación en Heroku. Es una aplicación node.js + express + socket.io y este es el package.json
archivo
{
"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?
heroku restart
para iniciarlo nuevamente para que pueda verlo fallar nuevamente.Respuestas:
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 inicio)
En mi caso, mi aplicación se bloqueó porque era difícil configurar el PUERTO, 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); });
fuente
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:
(Usando el cinturón de herramientas de Heroku para mac)
fuente
En mi caso, encontré el mismo error porque hay una diferencia de versión del 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 verifico el uso
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 :)
fuente
en mi caso, agregando
process.env.PORT || 3000
a mi script de servidor http, resuelto. Mi registro de heroku informó un error 'H20' y un estado http 503.fuente
Tuve este problema, el único problema era que mi Procfile era así
y me cambié a
el único problema eran los espacios
fuente
En mi caso, mi Procfile apuntaba al archivo incorrecto (bot.js que usé anteriormente), así que una vez que lo actualicé, el error desapareció.
fuente
al usar hapi18, encuentro que quito el campo "host" y configuro el puerto en:
port: process.env.PORT || 5000
Hizo el truco.fuente
También verifique la conexión de su base de datos. Olvidé cambiar la conexión de mi base de datos de localhost y esto bloqueó mi aplicación una vez que se envió a heroku.
fuente
Enfrenté este mismo problema y ninguna de las respuestas anteriores me ayudó. Lo que hice fue ejecutar:
y en package.json agregue la sección de motores con la versión de su nodo:
{ "name": "myapp", "description": "a really cool app", "version": "1.0.0", "engines": { "node": "6.11.1" } }
fuente
Old Thread, pero soluciono este problema estableciendo la constante PORT en process.env.PORT ||
Por alguna extraña razón, quería buscar Env primero.
fuente
En mi propio caso, recibí este error porque me niego a agregar un Procfile a mi aplicación de nodo js y mi "main": "app.js" inicialmente apuntaba a otro archivo js como principal. Así que al hacer estos cambios, arreglame
fuente
Tuve un error tipográfico
const PORT = process.env.PORT||'8080';
solía ser
const PORT = process.env.port||'8080';
fuente
En mi caso, olvidé configurar el entorno de la base de datos para la implementación. puede configurar env con este comando (estoy usando mLab para el servidor MongoDB)
heroku config: set MONGO_URI = 'mongodb: // dirección'
fuente
Para mí, era Package.json, estaba vacío de las dependencias aunque pensé que las había instalado ... así que tuve que reinstalarlas con la opción --save al final y verificar que se agregaron al package.json ... y luego Empuje de nuevo y funcionó.
fuente
Si inicia el servidor de nodo localmente
nodemon
, como lo hice yo, y funciona localmente, intentenpm start
. Nodemon me decía que no había errores, pero npm start me dijo muchos de ellos de una manera comprensible y luego pude resolverlos siguiendo otras publicaciones aquí. Espero que ayude a alguien.fuente
En mi caso, no había un comando de inicio en la sección de script del
package.json
archivo. Cuando creé elpackage.json
archivo connpm init
no creé un comando de secuencia de comandos de inicio. Entonces fui alpackage.json
archivo, debajo de los scripts agregué una nueva entrada:"scripts": { "start": "node index.js" },
Lo guardé y lo cargó en Heroku y funcionó
fuente
La contraseña contenía un% la rompió para mí.
fuente
Mi puerto se estableció en el
config.httpPort
que se resuelve en80
. Lo arreglé haciendo esto:const PORT = process.env.PORT || config.httpPort; app.listen(PORT, ...)
Muchas gracias, anoche me perdí muchas horas.
fuente
El código de error H10 podría significar muchas cosas diferentes. En mi caso, la primera vez fue porque no sabía que Heroku no es compatible con Sqlite3, la segunda vez fue porque accidentalmente empujé una actualización con Google Analytics trabajando tanto en desarrollo como en producción.
fuente
Obtuve el mismo error anterior como "la aplicación se bloqueó" y el error H10 y los registros de la aplicación heroku no muestran mucha información relacionada con las razones del mensaje de error. Luego reinicié los dynos en heroku y luego mostró el error que decía una llave adicional en uno de los archivos index.js en mi configuración. El problema se solucionó una vez que se eliminó y se volvió a implementar la aplicación en heroku.
fuente
Hilo más antiguo, pero para mí no configuré mis
.env
vars en la consola de Heroku.fuente
Estaba usando body-Parser que arroja una excepción
const bodyParser = require('body-Parser') //Bodyparser Middleware app.use(bodyparser.json())
en lugar de usar
//Bodyparser Middleware app.use(express.json())
esto resolvió mi problema
fuente
Quiero registrar aquí cuál fue mi solución para este error, que era un archivo simple no actualizado a Github.
Tengo un proyecto de pila completa y mis archivos están estructurados tanto en el directorio raíz para el backend como en el cliente para el frontend (estoy usando React.js). Todo se redujo al hecho de que estaba empujando por error la carpeta del cliente solo a Github y todos mis cambios que tenían un error (faltaba una coma en la instancia de un objeto en mi index.js) no se actualizaron en el lado del backend. Dado que este Heroku obtiene todas las actualizaciones del repositorio de Github, no pude acceder a mi servidor y el error persistió. Luego, todo lo que tenía que hacer era confirmar y enviar al directorio raíz y actualizar todos los cambios del proyecto y todo volvió a funcionar nuevamente.
fuente
En mi caso, tenía el código = H10 y el estado = 503 porque mi Procfile:
e incluí / construí en .gitignore
fuente
Lucho con el mismo error durante horas, pero pude resolverlo. Instalé multer y aws-sdk como devDependencies por error, en lugar de solo dependencias. Entonces, cualquiera que tenga el mismo error, simplemente verifique su archivo package.json.
Además, un pequeño consejo para la propiedad del motor en package.json.
enter code here //The greater or equal operators will make sure that you use the right node //version //even if your current node is greater version than npm node "engines": { "node": ">= 0.8.14" }, //insted of "engines": { "node": "0.8.14" }
fuente
Estaba implementando el framework Python Django cuando recibí este error porque olvidé poner el nombre de mi aplicación en
web: gunicorn plaindjango.wsgi:application --log-file -
lugar deplaindjango
fuente