В чем причина того, что "Procfile объявляет типы → (none)" в Heroku?
Я пытаюсь развернуть тестовое приложение для кедра Heroku --stack, но каждый раз, когда я делаю свой Procfile, игнорируется.
Это должно быть сказано:
Procfile declares types -> web
Но это говорит
Procfile declares types -> (none)
Из-за этой проблемы он, конечно, не загружается на платформе heroku, когда я перемещаю URL-адрес.
Помимо этого теста (A), у меня есть ИДЕНТИЧНЫЙ проект (B) в другой папке, которая работает. Я так сильно смущен, почему (А) не то, что я прихожу сюда, чтобы спросить сейчас.
Несколько других вещей, которые я пробовал с (A), включают:
- воссоздание приложения heroku
- воссоздание репозитория git (т.е. удаление .git, git init...)
- очистка файлов из папки проекта и копирование файлов из другой копии, которая работает
Если я сделаю копию папки верхнего уровня (B), то эта копия будет работать. Кажется, что проблема заключается в копировании файлов/папок изнутри (B) и др. В пределах (A), проклятого.
Итак, пока все, что я могу определить, - это все работает минус этой (A) проклятой папки. Мне бы хотелось узнать, почему вместо того, чтобы прийти к выводу о ведьме.
Ответы
Ответ 1
У меня была такая же проблема, и я только сейчас обнаружил, что не так. Сначала я случайно назвал файл ProcFile
вместо ProcFile
. Просто переименовать этот файл не удалось, нажав git. Сначала мне нужно было сделать git rm ProcFile -f
, а затем добавить новый (правильно названный) ProcFile
. После этого он правильно нажал на git и правильно подобрался Heroku.
Ответ 2
Пространство между именем записи и содержимым кажется важным:
Использование:
web: python manage.py runserver
а не
web:python manage.py runserver
Ответ 3
Убедитесь, что у вашего Procfile нет никакого расширения. И если у него есть все, вы должны переименовать этот файл в Procfile без какого-либо расширения и зафиксировать и проверить мастер
Ответ 4
Вы не забыли зафиксировать свой Procfile
до git? Я забыл сделать это совершение, сделал git push heroku master
и увидел сообщение (none)
, указанное выше.
Если вы забыли, перепишите Procfile
и выполните git push heroku master
снова.
Ответ 5
Я добавляю к Паскалю Линделауф ответ - убедитесь, что ваше имя файла "Procfile" (с большой буквы), а не "procfile" (это было со мной только сейчас), удачи!
Ответ 6
У меня есть что сказать об ошибке "Procfile объявляет типы → (нет)".
На что стоит обратить внимание, так это на скрытое расширение файла "Procfile". Я думал, что моя команда в "Procfile" была правильной, но я продолжал получать эту ошибку. Через полчаса я обнаружил, что "Procfile" имеет расширение ".txt", но был скрыт настройкой по умолчанию моей macOS. После удаления расширения все работает отлично!