Первое развертывание экспресс-бэкенда для Heroku 2 с кодом ошибки h10. Процесс завершился со статусом 1

Привет, я пытался развернуть свое приложение в течение последних 3 часов, и я не могу понять проблему. Я новичок в развертывании на героку, и после устранения неполадок в течение последних двух часов я составил список вещей, которые я пробовал, из других ответов.

  1. добавление node_modules/ в .gitignore
  2. создание профиля и запись web: node server.js (server.js — это файл, на котором я запускаю сервер)
  3. Проверка, если я жестко запрограммировал порт мой код прямо сейчас в server.js
const PORT = process.env.PORT || 5000;


app.listen(PORT, () => console.info(`Listening on port:${PORT}`))
  1. перезагружаю свой сервер с помощью heroku ps:scale web=0, ожидая несколько секунд, и heroku ps:scale web=1
  2. повторное развертывание моего приложения
  3. установка моего производства конфигурации npm на false
  4. запуская heroku run bash и npm start, я получаю больше ошибок, которые, по-видимому, как-то связаны с bcrypt, в котором я установил последнюю версию и переустановил node_modules, но теперь я получаю это

это мой package.json

{
  "name": "todolist",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node server.js"
  },
  "repository": {
    "type": "git",
    "url": "hiding this"
  },
  "author": "",
  "license": "ISC",
  "bugs": {
    "url": hiding this
  },
  "homepage": hiding this,
  "dependencies": {
    "bcrypt": "^5.0.0",
    "cors": "^2.8.5",
    "express": "^4.17.1",
    "jsonwebtoken": "^8.5.1",
    "morgan": "^1.10.0",
    "mysql2": "^2.2.5",
    "pg": "^8.5.1",
    "sequelize": "^6.3.5"
  },
  "devDependencies": {
    "sequelize-cli": "^6.2.0"
  }
}

Это мой config.json

{
  "development": {
    "database": "todolist_development",
    "dialect": "postgres"
  },
  "test": {
    "database": "express_react_auth_test",
    "dialect": "postgres"
  },
  "production": {
    "use_env_variable": "DATABASE_URL",
    "dialect": "postgres",
    "dialectOptions": {
      "ssl": true
    }
  }
}

это моя структура папок

любая помощь будет так оценена

Похоже, вам не хватает строки подключения к БД. Вы уверены, что установили его в файле env?

domenikk 11.12.2020 22:28

В настоящее время у меня нет файла .env. Мне нужно его развернуть? и если да, то как мне это сделать? Вы имеете в виду процесс.env? Я думал, что это было автоматически сделано героку

andrew kim 11.12.2020 22:31

Хорошо, как вы указываете значения, к которым вы обращаетесь с помощью process.env? Я думаю, вам нужно установить переменную DATABASE_URL. Это может быть полезно: devcenter.heroku.com/articles/config-vars

domenikk 11.12.2020 22:59
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
193
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Возможно, вы забыли установить переменные среды на героку. Просто поместите все ключи и значения, которые у вас есть в вашем .env, в переменные конфигурации heroku и не забудьте добавить надстройку db в свое приложение Heroku, если вы используете mysql, я бы рекомендовал использовать clearDb.

У меня нет файла .env, и я действительно не понимаю процесс.env, извините, я очень медленный. Я запустил приложение heroku, запустив heroku addons:add heroku-postgresql, и я проверил свою переменную конфигурации для DATABASE_URL и установил значение postgres://kdlovcwzdgzrgi:7cb8342c1ea636be245f8c69f6c5349be4‌​b9921b39128373fbe316‌​8694259288@ec2 -3-224‌​-38-18.compute-1.ama‌ zonaws.com:5432/d95j‌​fgnsi2cfbf Я пытался делать вызовы URL-адреса heroku, и единственное, что работает, это корень ('/'), если я пытаюсь сделать вызов API ('/todos'), он говорит, что связь не существует, потому что он не заполняет мою базу данных

andrew kim 12.12.2020 00:03

Я думаю, что, если честно, сейчас я могу двигаться назад

andrew kim 12.12.2020 00:08

@andrewkim, если вы успешно добавили надстройку Heroku Postgres, вам нужно иметь дело с миграциями БД, чтобы иметь таблицы в вашей БД. Вот ссылка для работы с миграциями в sequenceize sequenceize.org/master/manual/migrations.html

Mistico 13.12.2020 16:28

Другие вопросы по теме