Вопрос:

Первое развертывание Heroku не удалось `код ошибки = H10`

node.js heroku express

78841 просмотра

18 ответа

15088 Репутация автора

Я развернул свое приложение в 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=

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

Автор: ilyo Источник Размещён: 14.01.2013 04:57

Ответы (18)


150 плюса

2222 Репутация автора

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

В моем случае мое приложение зависло из-за того, что я жестко настраивал PORT, вместо того, чтобы использовать порт, который устанавливает heroku динамически, к которому можно получить доступ с помощью 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);
});
Автор: Martin Schaer Размещён: 08.06.2013 10:40

1 плюс

2609 Репутация автора

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

Автор: lindsaymacvean Размещён: 13.01.2015 07:57

35 плюса

586 Репутация автора

У меня только что была похожая проблема с моим приложением, я получил проблему после переноса БД, после того, как попробовал много вариантов, один из них мне помог:

heroku restart

(Используя Heroku toolbelt для Mac)

Автор: clarenswd Размещён: 12.01.2016 02:46

4 плюса

2195 Репутация автора

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

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

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

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

когда я обновлю свой package.json

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

Работает нормально :)

Автор: Mahesh Singh Chouhan Размещён: 06.02.2016 01:14

5 плюса

101 Репутация автора

в моем случае добавление process.env.PORT || 3000в мой http-сервер сценарий разрешен. Мой журнал heroku сообщил об ошибке «H20» и статус http 503.

Автор: Ewertom Moraes Размещён: 28.04.2017 01:18

0 плюса

22 Репутация автора

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

Автор: Praveen Размещён: 06.09.2017 06:40

1 плюс

80 Репутация автора

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

Автор: Forest baba Размещён: 13.10.2017 11:03

2 плюса

21 Репутация автора

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

Автор: Sina Meraji Размещён: 30.10.2017 03:11

1 плюс

1685 Репутация автора

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

node --version

и в package.json добавьте раздел engine с версией вашего узла:

{
  "name": "myapp",
  "description": "a really cool app",
  "version": "1.0.0",
  "engines": {
    "node": "6.11.1"
  }
}
Автор: Martin De Simone Размещён: 24.12.2017 06:12

0 плюса

1898 Репутация автора

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

Автор: Jack Stone Размещён: 20.01.2018 06:33

1 плюс

973 Репутация автора

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

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

раньше был

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

Автор: Omar Размещён: 02.05.2018 03:54

0 плюса

6 Репутация автора

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

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

Автор: minjun youn Размещён: 14.12.2018 10:00

1 плюс

11 Репутация автора

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

Автор: Roman Размещён: 07.02.2019 10:35

0 плюса

11 Репутация автора

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

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

app.listen(PORT, ...)

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

Автор: Tamal Anwar Chowdhury Размещён: 19.02.2019 09:54

2 плюса

19 Репутация автора

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

web : node index.js

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

web:node index.js

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

Автор: Arian Nargesi Размещён: 20.02.2019 03:54

0 плюса

12 Репутация автора

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

Автор: Trevor Hauck Размещён: 20.03.2019 09:53

0 плюса

113 Репутация автора

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

Автор: Josh Lavely Размещён: 02.04.2019 01:38

0 плюса

585 Репутация автора

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

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

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

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

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

Автор: S.Sid Размещён: 13.06.2019 06:35
32x32