Отправка Heroku отклонена, приложение с поддержкой Cedar не обнаружено

110

Я создаю приложение Rails с Rails 3.1.3:

git init
git remote add heroku <my heroku repo>
git add .
git commit -a -m "First commit"
git push heroku master

Получил:

Counting objects: 102, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (86/86), done.
Writing objects: 100% (102/102), 315.47 KiB, done.
Total 102 (delta 3), reused 0 (delta 0)

**-----> Heroku receiving push
 !     Heroku push rejected, no Cedar-supported app detected**

To git@heroku.com:electric-dusk-3217.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to <my heroku rep>
БЕЛЫЙ ЦВЕТ
источник
Вы пробовали бегать heroku create [appname]?
whirlwin
Я создал приложение на стеке кедра: heroku create --stack cedar
WHITECOLOR
5
Что на самом деле означает эта ошибка?
Himmators

Ответы:

155

У меня была аналогичная проблема, но с Django (неправильно названный "requirements.txt"). Я думаю, чтобы обобщить другие ответы здесь, когда вы получаете эту ошибку, это связано с тем, что в Heroku отсутствует какой-то ключевой файл, который он использует для идентификации вашего приложения (и его типа).

  • php: index.php
  • python: requirements.txt
  • ruby: Gemfile # обратите внимание на заглавные буквы
  • узел: package.json
JnBrymn
источник
6
Нашел еще один ответ на эту проблему здесь (повторно инициализируйте репозиторий git): stackoverflow.com/questions/9305370/…
Крис
Дружественное напоминание: также имейте Procfile, при запуске веб-приложения убедитесь, что через Procfile включен веб-сервис, указывающий на правильный скрипт. Также убедитесь, что веб-дино для приложения включен в администраторе Heroku. remote: ----->Discovering process types...Procfile declares types -> webчерез мой Procfile
Marc
Спасибо, мне помогло добавление файла requirements.txt! Обратите внимание, что вы должны зафиксировать его (добавить в
репозиторий
48

Проблема заключалась в том, что мой "Gemfile" назывался "gemfile".

БЕЛЫЙ ЦВЕТ
источник
@Whitecolor Была точно такая же проблема, и ваше решение сработало! Затем столкнулся с другими сложными проблемами. Но спасибо.
Тони
1
Не только это случилось со мной, но и неочевидным образом. Работая в OSX, даже с файлом с именем Gemfile, если я это сделаю vi gemfile, он открывает мой Gemfile, а затем при сохранении переименовывает его в gemfileбез предупреждения!
B Seven
Думаю, это хорошая причина для создания раздела, который различает прописные и строчные буквы ...
B Seven
2
что за "Gemfile"? У меня есть html-игра, и я хочу запустить ее в heroku. и я получаю ту же ошибку
Alaeddine
45

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

Ncherro
источник
3
Это кажется плохим решением. Есть ли правильный способ отправить приложение, пока оно находится в подкаталоге?
y0mbo
1
Я использую git-subtree . У меня возникли проблемы с установкой, поэтому я воспользовался этой помощью
Риан Рейни
У меня была та же проблема - я только начинал с heroku, начинающего работать с RoR, и столкнулся с этой проблемой. Спасибо за исправление.
Махендра Лия
Я продолжал проверять командную строку, и она была «правильной», но потом я заметил, что нахожусь в / home / myapp / myapp ... doh ...
Will
Мой случай тоже. Я использую git initпапку приложения в качестве корневого каталога git, после чего был выполнен push to heroku. Спасибо.
София Фэн
26

Heroku определяет поддерживаемое приложение, ища определенные файлы проекта. Чтобы узнать о требованиях к вашему языку, начните здесь .

  • Для Node.js вам понадобится package.json.
  • Для приложений Python вам понадобится requirements.txt.
  • и т.п.
Патрик Фишер
источник
22

Не связано с новым приложением, но ... Я столкнулся с тем же сообщением об ошибке после установки пользовательского BUILDPACK на heroku, а затем забыл об этом. В следующий раз, когда я пошел развертываться на героку, я увидел:

-----> Fetching custom git buildpack... done

 !     Push rejected, no Cedar-supported app detected

Исправление заключалось в проверке:

 heroku config

И там я нашел Var с именем, BUILDPACK_URLкоторое мне пришлось отключить:

heroku config:unset BUILDPACK_URL

... и вуаля!

pdobb
источник
Вау, это было непросто. Спасибо!
Александр Пресбер
12

Другая причина: я нажимал на master, когда работал над веткой, отличной от master. В моей основной ветке не было файла requirements.txt.

Я не хотел пушить из мастера, но heroku обращает внимание только на ветку мастера. Решением было переместить мою локальную ветку в главную ветку heroku:

git push heroku local_branch:master
джафир
источник
2
Ты мой герой ! Я часами пытался найти это> <
Лоран
7

Другая причина этой ошибки для приложений Rails: эта ошибка развертывания возникает, когда мы не удалили конфликт слияния git из нашего файла Gemfile.lock.

Джеймс П. МакГрат
источник
3

Я была такая же проблема. "Gemfile" был включен в ".gitignore" и поэтому не был частью развертывания. Heroku требует Gemfile для проектов Rails.

Алексей Данченков
источник
3

Я исправил это, внеся поверхностные изменения в свой Gemfile и повторно подтвердив. По какой-то причине это не было включено в мой последний коммит.

Дэн Сэндленд
источник
3


Я встретил здесь ту же проблему.
Моя проверка выглядит следующим образом:
1. Убедитесь, что "запуск мастера" работает хорошо локально.
2. Убедитесь, что в вашей учетной записи heroku создано только одно новое приложение.
Надеюсь, это поможет.

Эван Лин
источник
3

Я выполнял шаги RailsTutorial.org, и эта ошибка обнаружилась. Ни один из ответов на этот пост не сработал. Затем я увидел этот комментарий, который привел к этому ответу, который был единственным, что сработало для меня, чтобы также решить проблемы других людей с помощью учебника.

2016ршах
источник
Я думаю, причина в том, что я инициализирую репо в родительском каталоге каталога RAIL_PROJECT. Поэтому программа make cedar не может распознать тип приложения. Спасибо за Ваш ответ!
Роберт
2

У меня также была проблема с приложением на основе django. Вроде все нормально: имена файлов и прочие настройки.

Проблема заключалась в том, что в консоли heroku был определен BUILDPACK_URLпараметр для node.js- поэтому приложение django было отклонено.

опал
источник