Eerste Heroku-implementatie mislukt `foutcode=H10`

Ik heb mijn app in Heroku geïmplementeerd. Het is een app node.js + express + socket.io en dit is het bestand 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"
  }
}

Dit is het logboek dat ik krijg:

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=

Wat betekent het?


Antwoord 1, autoriteit 100%

Hier voor mij een oplossing gevonden: Heroku + node.js-fout (webproces kon binnen 60 seconden na lancering niet binden aan $PORT)

In mijn geval crashte mijn app omdat ik de PORT moeilijk instelde, in plaats van de poort te gebruiken die heroku dinamically instelt, die toegankelijk is met 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);
});

Antwoord 2, autoriteit 22%

Ik heb net een soortgelijk probleem gehad met mijn app, ik kreeg het probleem na een migratie van de DB, nadat ik vele opties had geprobeerd, de enige die me heeft geholpen, was dit:

heroku restart

(met behulp van HEROKU-werkplekken voor MAC)


Antwoord 3, Autoriteit 5%

Ik had dit probleem, het enige probleem was dat mijn ProCfile zo was

web : node index.js

en ik ben veranderd in

web : node index.js

Het enige probleem was ruimtes


Antwoord 4, Autoriteit 2%

In mijn geval heb ik dezelfde fout gevonden omdat er een verschil van knooppunt en NPM op mijn lokale computer is en gedefinieerd in Package.json-versie.

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

Wanneer ik controleer met

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

Wanneer ik mijn pakket updaten.json naar

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

het werkt prima 🙂


Antwoord 5, Autoriteit 2%

In mijn geval toevoegen process.env.PORT || 3000naar mijn HTTP-serverscript, opgelost.
Mijn HEROKU-logboek meldde ‘H20’-fout en 503 HTTP-status.


Antwoord 6

In mijn geval wijst mijn ProCfile naar het verkeerde bestand (bot.js die ik eerder heb gebruikt) dus als ik het eenmaal heb bijgewerkt, was de fout verdwenen.


Antwoord 7

Bij het gebruik van HAPI18 vind ik het veld “Host” uit en het instellen van de poort naar:

port: process.env.PORT || 5000deed de truc.


Antwoord 8

Oude draad, maar ik bevestig dit probleem door de havenconstante in te stellen om te verwerken .NV.Port ||

Voor een vreemde reden wilde het EV eerst zoeken.


Antwoord 9

Controleer ook uw databaseverbinding. Ik ben vergeten mijn databaseverbinding van LocalHost te veranderen en dit crashte mijn app zodra het naar Heroku werd geduwd.


Antwoord 10

Ik heb geconfronteerd met hetzelfde probleem en geen van de bovenstaande antwoorden heeft me geholpen.
Wat ik deed, is uitgevoerd:

node --version

en in het pakket.json Voeg het gedeelte Motoren toe met uw knooppuntversie:

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

Antwoord 11

Als u de Node-server van de Node-server lokaliseren met nodemon, zoals ik deed, probeer dan het lokaal, probeer dan npm start. Nodemon vertelde me geen fouten, maar NPM-start vertelde me veel van hen op een begrijpelijke manier en dan kon ik ze oplossen door hier een andere posten te volgen. Ik hoop dat het iemand helpt.


Antwoord 12

Ik heb deze fout in mijn eigen geval omdat ik weigeer een ProCfile aan mijn knooppunt JS-app en mijn “main”: “app.js” aan te voegen, wijst in eerste instantie naar een ander JS-bestand als main. DUS DOEN DEZE CHNAGES HEBBEN HET VOOR ME


Antwoord 13

Ik had een typo

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

vroeger

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


Antwoord 14

In mijn geval, ik ben vergeten database-env voor de implementatie in te stellen.
U kunt AV in deze opdracht instellen
(Ik gebruik MLAB voor MongoDB-server)

Heroku Config: Set Mongo_uri = ‘MongoDB: // Adres’


Antwoord 15

Voor mij was het Package.json, het was leeg van afhankelijkheden, ook al dacht ik dat ik ze had geïnstalleerd.. dus moest ik ze uiteindelijk opnieuw installeren met de optie –save en controleren of ze aan package.json waren toegevoegd. en druk er dan nog een keer op en het werkte.


Antwoord 16

In mijn geval was er geen startopdracht in het scriptgedeelte van het bestand package.json.
Toen ik het bestand package.jsonmaakte met npm init, heb ik geen startscript-opdracht gemaakt.
Dus ging ik naar het bestand package.json, onder scripts heb ik een nieuw item toegevoegd:

"scripts": {
    "start": "node index.js"
  },

Opgeslagen en geüpload naar Heroku en het werkte


Antwoord 17

In mijn geval had ik code=H10en status=503omdat mijn
Profiel:

web: node build/server.js

en ik heb /buildopgenomen in .gitignore


Antwoord 18

Wachtwoord bevatte een % dat het voor mij brak.


Antwoord 19

Mijn poort is ingesteld op config.httpPortwat wordt omgezet in 80. Ik heb het opgelost door dit te doen:

const PORT = process.env.PORT || config.httpPort;
app.listen(PORT, ...)

Heel erg bedankt, ik heb gisteravond veel uren verspild.


Antwoord 20

De H10-foutcode kan veel verschillende dingen betekenen. In mijn geval was de eerste keer omdat ik niet wist dat Heroku niet compatibel is met Sqlite3, de tweede keer omdat ik per ongeluk een update heb gepusht waarbij Google Analytics zowel in ontwikkeling als in productie werkte.


Antwoord 21

Ik kreeg dezelfde bovenstaande fout als “app gecrasht” en H10-fout en de heroku-app-logboeken tonen niet veel informatie met betrekking tot de redenen voor het foutbericht. Daarna herstartte ik de dyno’s in heroku en toen vertoonde het de fout met het zeggen van extra accolade in een van de index.js-bestanden in mijn setup. Het probleem is verholpen nadat het is verwijderd en de app opnieuw is geïmplementeerd op Heroku.


Antwoord 22

Oudere thread, maar voor mij heb ik mijn .envvars niet ingesteld in de Heroku-console.


Antwoord 23

ik gebruikte body-Parser die een uitzondering maakte

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

in plaats van

. te gebruiken

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

dit heeft mijn probleem opgelost


Antwoord 24

Ik wil hier registreren wat mijn oplossing was voor deze fout, namelijk een eenvoudig bestand dat niet is bijgewerkt naar Github.

Ik heb een full-stackproject en mijn bestanden zijn gestructureerd in zowel de hoofdmap voor de backend als de client voor de frontend (ik gebruik React.js). Alles kwam neer op het feit dat ik per ongeluk de clientmap alleen naar Github pushte en al mijn wijzigingen die een fout bevatten (een komma missen in de instantie van een object in mijn index.js) werden niet bijgewerkt in de backend. Aangezien deze Heroku alle updates van Github Repository ophaalt, kreeg ik geen toegang tot mijn server en bleef de fout bestaan. Daarna hoefde ik alleen maar te committen en naar de hoofdmap te pushen en alle wijzigingen van het project bij te werken en alles werkte weer.


Antwoord 25

Ik worstel al uren met dezelfde fout, maar ik heb het kunnen oplossen. Ik heb per ongeluk multer en aws-sdk als devDependencies geïnstalleerd, in plaats van alleen afhankelijkheden.
Dus, iedereen die dezelfde fout heeft, controleer gewoon je package.json-bestand.

Ook een kleine tip voor de eigenschap van de engine in 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"
}

Antwoord 26

Ik was bezig met het implementeren van het python Django-framework toen ik deze fout kreeg, omdat ik vergeet mijn app-naam web: gunicorn plaindjango.wsgi:application --log-file -in plaats van plaindjango


Antwoord 27

Voor mij had ik dingen onnodig opgesplitst in aparte mappen. Ik gebruik plotly dash en ik had mijn Procfileen Pipfile(en slot) samen, maar gescheiden van de andere functies van mijn app (run.pyen app.py, de daadwerkelijke inhoud van de gebruikte pagina’s bevond zich in een submap). Dus door veel daarvan samen te voegen, werd mijn H10-fout hersteld

Other episodes