Подтвердить что ты не робот

Первое развертывание Heroku не выполнено "код ошибки = H10"

Я развернул свое приложение в Heroku. Это приложение node.js + express + socket.io, и это файл 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"
  }
}

Это журнал, который я получаю:

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=

Что это значит?

4b9b3361

Ответ 1

Найденное решение для меня здесь: Ошибка Heroku + node.js(веб-процесс не смог привязываться к $PORT в течение 60 секунд после запуска)

В моем случае мое приложение потерпело крах из-за того, что я жестко установил PORT, вместо того, чтобы использовать порт, который устанавливает набор динамических героев, доступ к которому можно получить с помощью 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);
});

Ответ 2

У меня просто была аналогичная проблема с моим приложением, я получил проблему после миграции БД, после того, как попробовал много вариантов, тот, который мне помог, был следующим:

heroku restart

(Использование инструментального инструмента Heroku для Mac)

Ответ 3

в моем случае добавление process.env.PORT || 3000 к моему http-серверу script, разрешено. В моем журнале heroku сообщалось об ошибке "H20" и 503 http status.

Ответ 4

В моем случае я нашел ту же ошибку, потому что есть разница версий node и npm на моей локальной машине и определена в версии package.json.

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

когда я проверяю использование

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

когда я обновляю свой пакет .json до

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

Он отлично работает:)

Ответ 5

Также проверьте подключение к базе данных. Я забыл изменить соединение с базой данных с localhost, и это разбило мое приложение, когда оно было нажато на герою.

Ответ 6

В моем случае мой Procfile указывал на неправильный файл (bot.js, который я ранее использовал), поэтому, как только я его обновил, ошибка исчезла.

Ответ 7

Я столкнулся с этой же проблемой, и ни один из ответов выше не помог мне. То, что я сделал, было запущено:

node --version

а в пакете .json добавьте раздел с вашей версией node:

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

Ответ 8

У меня была эта проблема, единственной проблемой был мой Procfile, мой Procfile был таким

web : node index.js

и я изменился на

web:node index.js

единственной проблемой были пробелы

Ответ 9

В моем случае, я получил эту ошибку, потому что я отказываюсь добавить Procfile в мое приложение node js и мое "главное": "app.js" первоначально указывал на другой файл js как основной. так что делаю эти chnages, это исправлено для меня

Ответ 10

У меня была опечатка

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

раньше был

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

Ответ 11

В моем случае я забыл установить env базы данных для развертывания. вы можете установить env с помощью этой команды (я использую mLab для сервера MongoDB)

Конфигурация heroku: set MONGO_URI = 'mongodb://address'

Ответ 12

Для меня это был Package.json, он был пуст от зависимостей, хотя я думал, что установил их.. поэтому мне пришлось переустановить их с опцией --save в конце и убедиться, что они были добавлены в package.json... и затем нажмите еще раз, и это сработало.

Ответ 13

Если вы локально запускаете сервер узлов с помощью nodemon, как я сделал, и он работает локально, попробуйте npm start. Nodemon не говорил мне об ошибках, но npm start рассказал мне о многих из них понятным образом, и тогда я мог бы их решить, следуя другим постам здесь. Надеюсь, это кому-нибудь поможет.

Ответ 14

В моем случае в разделе сценариев файла package.json не было команды запуска. Когда я создал файл package.json с помощью npm init, я не создал команду запуска сценария. Поэтому я перешел к файлу package.json, под сценариями я добавил новую запись:

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

Сохранил его и загрузил в Heroku, и это сработало

Ответ 15

Я получил ту же ошибку выше, что и "приложение рухнуло", и ошибку H10, и в журналах приложения heroku не отображается много информации, связанной с причинами ошибки msg. Затем я перезапустил dynos в heroku, а затем он показал ошибку, сообщающую дополнительную фигурную скобку в одном из файлов index.js в моей настройке. Проблема была исправлена после того, как она была удалена и заново развернута приложение на Heroku.

Ответ 16

Пароль содержал% сломал его для меня.

Ответ 17

@praveen, как ты династий начал в героку? Я запускаю логи, но вижу какую-то конкретную ошибку.

Спасибо за вашу помощь

Ответ 18

Мой порт был настроен на config.httpPort который разрешается до 80. Я исправил это, выполнив это:

const PORT = process.env.PORT || config.httpPort;

app.listen(PORT, ...)

Большое спасибо, это потратило впустую много часов прошлой ночью.

Ответ 19

Код ошибки H10 может означать много разных вещей. В моем случае, первый раз, потому что я не знал, что Heroku не совместим с Sqlite3, во второй раз, потому что я случайно отправил обновление с аналитикой Google, работающей как в разработке, так и в производстве.

Ответ 20

Более старая тема, но для меня я не установил свои .env переменные в консоли Heroku.

Ответ 21

я использовал body-Parser, который выбрасывает исключение

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

способ использования

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

это решило мою проблему

Ответ 22

Я хочу зарегистрировать здесь то, что было моим решением для этой ошибки, которая была простым файлом, не обновленным до Github.

У меня есть полный проект стека, и мои файлы структурированы как корневой каталог для бэкенда и клиент для внешнего интерфейса (я использую React.js). Все сводилось к тому, что я по ошибке отправлял папку клиента только в Github, и все мои изменения, в которых произошла ошибка (пропущена запятая в экземпляре объекта в моем index.js), не были обновлены в бэкэнде. Поскольку этот Heroku получает все обновления из репозитория Github, я не смог получить доступ к своему серверу, и ошибка сохранилась. Тогда все, что мне нужно было сделать, это зафиксировать и переместить в корневой каталог и обновить все изменения в проекте, и все снова вернулось к работе.

Ответ 23

после использования hapi18 я обнаружил, что выбрал поле "host" и настроил порт на:

port: process.env.PORT || 5000 сделал свое дело.