#node.js #heroku
Вопрос:
Прямо сейчас я использую Heroku для развертывания своего приложения с GitHub. Вот журнал вывода развертывания:
-----> Building on the Heroku-20 stack
-----> Determining which buildpack to use for this app
-----> Node.js app detected
-----> Creating runtime environment
NPM_CONFIG_LOGLEVEL=error
NODE_VERBOSE=false
NODE_ENV=production
NODE_MODULES_CACHE=true
-----> Installing binaries
engines.node (package.json): 16.x
engines.npm (package.json): unspecified (use default)
Resolving node version 16.x...
Downloading and installing node 16.3.0...
Using default npm version: 7.15.1
-----> Installing dependencies
Installing node modules (package.json)
added 149 packages, and audited 150 packages in 9s
10 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
-----> Build
-----> Caching build
- node_modules
-----> Pruning devDependencies
up to date, audited 150 packages in 866ms
10 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
-----> Build succeeded!
-----> Discovering process types
Procfile declares types -> (none)
Default types for buildpack -> web
-----> Compressing...
Done: 48M
-----> Launching...
Released v3
https://dino-pack.herokuapp.com/ deployed to Heroku
Однако, когда я иду туда dino-pack.herokuapp.com
, он показывает мне это:
В чем проблема и как я могу ее решить? Я пытался удалить и повторно создать приложение, но оно все еще показывает это.
Ответ №1:
Проверьте, правильно ли была выполнена ваша настройка, файл Procfile и файл package.json. Следуйте руководству по настройке, чтобы дважды проверить. Я уверен, что это глупая ошибка, но нам нужно больше информации, чтобы выяснить, что это такое.
Комментарии:
1. Я ничего не делал для Procfile. Что это?
2. Попробуйте следовать этому руководству. Клонируйте проект «Начало работы» и проверьте файл процесса. devcenter.heroku.com/articles/… Проще говоря, вы используете файл Procfile, чтобы сообщить Heroku, как запускать различные части вашего приложения
Ответ №2:
Насколько я могу судить по вашим журналам, похоже, возникла проблема с разрешением пути. Некоторые модули не очень хорошо обрабатывают относительные пути.
Если у вас где-то есть импорт, в котором используется относительный путь, я бы попробовал изменить его либо на относительный формат, который работает, либо сначала попробовать абсолютный путь и посмотреть, что появится в журналах.
Это всего лишь предположение, так как вы не хотите делиться своим кодом.
Комментарии:
1. Я делаю это с GitHub, а не из командной строки.
2. Вы все равно должны быть в состоянии найти журналы. Если вы войдете в heroku, журналы будут доступны из вашего приложения. В правом верхнем углу есть выпадающее меню с надписью «просмотр журналов». Это отличается от журналов сборки, которыми вы уже поделились. Это тоже будет заметно. Но получить инструмент командной строки намного проще и настоятельно рекомендуется.
3. Журналы, которые я нашел, находятся здесь: pastebin.com/UgWj3hgE .
4. Я дважды проверил, был ли файл с именем
app.js
в родительском каталоге.5. откуда вы установили пакет «dino-pack»? похоже, его нет в реестре npm.