Ответ 1
Убедитесь, что ваш Procfile не имеет расширения.
Чтобы создать файл без расширения в Windows, вы можете использовать команду notepad Procfile.
из командной строки.
Я пытаюсь развернуть простое приложение django и успешно нажал мой репозиторий git на Heroku. Однако, когда я пытаюсь запустить:
heroku ps:scale web=1
Я получаю следующую ошибку
Scaling dynos... failed
! Couldn't find that formation.
Любые мысли о том, что может быть проблемой? Содержимое Procfile (ниже) верное, насколько мне известно.
web: gunicorn my_app_name.wsgi
Убедитесь, что ваш Procfile не имеет расширения.
Чтобы создать файл без расширения в Windows, вы можете использовать команду notepad Procfile.
из командной строки.
Чтобы указать на очевидное: другой способ столкнуться с этой проблемой - это работать над новым приложением, и вы пытаетесь запустить heroku ps:scale web=1
, прежде чем на самом деле выполните git push heroku master
. В этом случае на сервере Heroku нет Procfile
, потому что файлов вообще нет.: D
Чтобы добавить еще одну причину этого, мой Procfile
содержит
web:gunicorn
но это должно быть:
web: gunicorn
Насколько я могу судить по всем этим ответам, если вы столкнулись с этой проблемой, это очень вероятно связано с Procfile
.
для заинтересованных, у меня была такая же проблема, чтобы добавить работника. для этого вам нужно добавить эту строку в свой файл procfile: worker: python worker.py
Для других, испытывающих эту же проблему, убедитесь, что Procfile не игнорируется в git.
Удалите свой файл Procfile. Тогда git status
. Если вы не видите ничего, упоминающего Procfile, вам нужно найти удаление из локального или глобального .gitignore.
У меня была такая же проблема, потому что я пропустил git add
и git commit
файл с именем Procfile.
Вам следует попытаться использовать команду git status
и проверить, включен ли Procfile
.
Я столкнулся с аналогичной проблемой при работе над windows
(не тестировался в других операционных системах), и это сработало для меня.
Сначала я создал имя файла procfile
и нажал его на герою. Но, heroku ожидает объявление procfile
. Это case sensitive
. Следовательно, мы должны быть осторожны, пока typing the filename also
.
Даже после изменения имени на procfile
git не заметил изменений (возможно, git не зависит от регистра, как окна). Следовательно, я должен был удалить файл полностью и должен был создать новый с procfile
как имя файла.
При нажатии на Heroku вы должны придумать что-то вроде показанного на картинке. Если у вашего procfile нет ошибки.
Procfile выглядит так для моего приложения Flask
web: gunicorn app:app
В моем проекте php я могу использовать
$ heroku ps:scale web=1
в каталоге heroku "php-get-started" (https://devcenter.heroku.com/articles/getting-started-with-php#prepare-the-app).
Поэтому я пытаюсь сделать это в своем оригинальном приложении, поэтому я попытался сделать это снова в репозитории Heroku, и он работает.
(извините за английский, хе-хе)
У меня такая же проблема,
1) Я также настроил ProcFile, но проблема все еще доступна
Так использовал это
Remove the existing buildpacks with heroku buildpacks:clear and add them again in the right order using the heroku buildpacks:add with the --index option, making sure that the language buildpack is the last in the list
git commit --allow-empty -m "Adjust buildpacks on Heroku"
git push heroku master
Задача решена
У меня была похожая проблема, и я попробовал следующее:
В конце дня только что понял, что мой Procfile был в моем каталоге приложений. Он должен быть в корневом каталоге/проекте.