Implantei meu aplicativo no Heroku. É um aplicativo node.js + express + socket.io e este é o package.json
arquivo
{
"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 é o registro que recebo:
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=
O que isso significa?
heroku restart
inicie-o novamente para que você possa vê-lo travar novamente.Respostas:
Solução encontrada para mim aqui: Erro Heroku + node.js (o processo da Web falhou ao vincular a $ PORT em 60 segundos após o lançamento)
No meu caso, meu aplicativo travou porque eu estava configurando fortemente a PORTA, ao invés de usar a porta que o heroku dinamicamente define, que pode ser acessada com
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); });
fonte
Acabei de ter um problema parecido com meu aplicativo, peguei o problema após uma migração do DB, depois de tentar várias opções, a que me ajudou foi esta:
(Usando o cinto de ferramentas Heroku para mac)
fonte
No meu caso, encontrei o mesmo erro porque há diferença de versão de node e npm em minha máquina local e definida na versão package.json.
"engines": { "node": "0.8", "npm": "1.2.x" }
quando eu verifico usando
node --version : v0.10.41 npm --version : 1.4.29
quando eu atualizo meu package.json para
"engines": { "node": "0.10.41", "npm": "1.4.29" }
Funciona bem :)
fonte
no meu caso, adicionando
process.env.PORT || 3000
ao meu script de servidor http, resolvido. Meu log do heroku relatou erro 'H20' e status 503 http.fonte
Eu tive esse problema, o único problema era meu Procfile estava assim
e eu mudei para
o único problema eram os espaços
fonte
No meu caso, meu Procfile estava apontando para o arquivo errado (bot.js que eu usei anteriormente), então, assim que o atualizei, o erro desapareceu.
fonte
ao usar o hapi18, descubro tirar o campo "host" e definir a porta para:
port: process.env.PORT || 5000
fez o truque.fonte
Verifique também sua conexão com o banco de dados. Esqueci de mudar minha conexão de banco de dados de localhost e isso travou meu aplicativo assim que foi enviado para o heroku.
fonte
Enfrentei esse mesmo problema e nenhuma das respostas acima me ajudou. O que eu fiz foi executar:
e no package.json adicione a seção engines com sua versão do nó:
{ "name": "myapp", "description": "a really cool app", "version": "1.0.0", "engines": { "node": "6.11.1" } }
fonte
Tópico antigo, mas eu corrijo esse problema definindo a constante PORT para process.env.PORT ||
Por alguma razão estranha, ele queria pesquisar Env primeiro.
fonte
No meu próprio caso, recebi este erro porque me recuso a adicionar um Procfile ao meu app node js e meu "main": "app.js" estava inicialmente apontando para outro arquivo js como principal. então, fazer essas mudanças conserta-o para mim
fonte
Eu tive um erro de digitação
const PORT = process.env.PORT||'8080';
costumava ser
const PORT = process.env.port||'8080';
fonte
No meu caso, esqueci de definir o env do banco de dados para implantação. você pode definir env por este comando (estou usando mLab para o servidor MongoDB)
config heroku: set MONGO_URI = 'mongodb: // endereço'
fonte
Para mim, era Package.json, estava vazio de dependências, embora eu achasse que os tinha instalado .. então eu tive que reinstalá-los com a opção --save no final e verificar se eles foram adicionados ao package.json .. e então aperte novamente e funcionou.
fonte
Se você iniciar o servidor de nó localmente
nodemon
, como eu fiz, e ele funcionar localmente, tentenpm start
. O Nodemon não estava me dizendo erros, mas o npm start me disse muitos deles de uma forma compreensível e então eu poderia resolvê-los seguindo outros posts aqui. Espero que ajude alguém.fonte
No meu caso, não havia nenhum comando de início na seção de script do
package.json
arquivo. Quando criei opackage.json
arquivo comnpm init
, não criei um comando de script de início. Então fui para opackage.json
arquivo, em scripts adicionei uma nova entrada:"scripts": { "start": "node index.js" },
Salvei e carreguei no Heroku e funcionou
fonte
A senha continha um% quebrou para mim.
fonte
Minha porta foi definida para
config.httpPort
qual resolve80
. Eu consertei fazendo o seguinte:const PORT = process.env.PORT || config.httpPort; app.listen(PORT, ...)
Muito obrigado, me desperdiçou muitas horas na noite passada.
fonte
O código de erro H10 pode significar muitas coisas diferentes. No meu caso, a primeira vez foi porque eu não sabia que o Heroku não é compatível com o Sqlite3, a segunda vez foi porque acidentalmente enviei uma atualização com o Google Analytics trabalhando no desenvolvimento e também na produção.
fonte
Recebi o mesmo erro acima como "app crashed" e H10 e os logs do app heroku não estão mostrando muitas informações relacionadas aos motivos da mensagem de erro. Então eu reiniciei o dynos no heroku e ele mostrou o erro dizendo chave adicional em um dos arquivos index.js em minha configuração. O problema foi corrigido depois de removido e reimplantado o aplicativo no heroku.
fonte
Tópico mais antigo, mas para mim não configurei meu
.env
var no console do Heroku.fonte
eu estava usando o body-Parser que lança exceção
const bodyParser = require('body-Parser') //Bodyparser Middleware app.use(bodyparser.json())
em vez de usar
//Bodyparser Middleware app.use(express.json())
isso resolveu meu problema
fonte
Quero registrar aqui qual foi a minha solução para este erro que era um arquivo simples não atualizado para o Github.
Eu tenho um projeto de pilha completa e meus arquivos são estruturados em diretório raiz para back-end e cliente para front-end (estou usando React.js). Tudo se resumia ao fato de que eu estava enviando por engano a pasta do cliente apenas para o Github e todas as minhas alterações que tinham um erro (faltando uma vírgula na instância de um objeto em meu index.js) não foram atualizadas no lado do backend. Como este Heroku busca todas as atualizações do Repositório Github, não consegui acessar meu servidor e o erro persistiu. Então tudo que eu tive que fazer foi enviar e enviar para o diretório raiz e atualizar todas as mudanças do projeto e tudo voltou a funcionar novamente.
fonte
No meu caso eu tinha code = H10 e status = 503 porque meu Procfile:
e incluí / construí no .gitignore
fonte
Luto com o mesmo erro por horas, mas consegui resolvê-lo. Instalei o multer e o aws-sdk como devDependencies por engano, em vez de apenas dependências. Portanto, qualquer pessoa que tiver o mesmo erro, basta verificar novamente o arquivo package.json.
Além disso, uma pequena dica para a propriedade do motor em 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" }
fonte
Eu estava implantando o framework Django python quando recebi este erro porque esqueci de colocar o nome do meu aplicativo em
web: gunicorn plaindjango.wsgi:application --log-file -
vez deplaindjango
fonte