Heroku push odrzucone, nie wykryto aplikacji obsługiwanej przez Cedar

110

Tworzę aplikację Rails z Railsami 3.1.3:

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

Dostał:

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 [email protected]:electric-dusk-3217.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to <my heroku rep>
BIAŁY KOLOR
źródło
Próbowałeś biegać heroku create [appname]?
wir
Stworzyłem aplikację na stosie cedrowym: heroku create --stack cedar
WHITECOLOR
5
Co właściwie oznacza ten błąd?
Himmators,

Odpowiedzi:

155

Miałem podobny problem, ale z Django (niepoprawnie nazwanym „Requirements.txt”). Myślę, że uogólniając inne odpowiedzi tutaj, kiedy pojawia się ten błąd, dzieje się tak, ponieważ Heroku brakuje jakiegoś pliku klucza, którego używa do identyfikacji twojej aplikacji (i jej typu).

  • php: index.php
  • python: Requirements.txt
  • ruby: Gemfile # zwróć uwagę na wielkie litery
  • węzeł: pakiet.json
JnBrymn
źródło
6
Znalazłem inną odpowiedź na ten problem tutaj (ponownie zainicjuj repozytorium git): stackoverflow.com/questions/9305370/ ...
Chris
Przyjazne przypomnienie: miej również Procfile, jeśli uruchomisz aplikację internetową, upewnij się, że usługa sieciowa jest włączona przez Procfile, wskazując prawidłowy skrypt. Upewnij się również, że dynamika internetowa jest włączona dla aplikacji w panelu administracyjnym Heroku. remote: ----->Discovering process types...Procfile declares types -> webjest przez mój Procfile
Marc
Dzięki, dodanie Requirements.txt pomogło mi! Pamiętaj, że powinieneś to zatwierdzić (dodać do repozytorium git), a następnie spróbować ponownie.
ItayB
48

Problem polegał na tym, że mój „Gemfile” miał nazwę „gemfile”

BIAŁY KOLOR
źródło
@Whitecolor Miał dokładnie ten sam problem i Twoje rozwiązanie zadziałało! Potem napotkałem inne skomplikowane problemy. Ale dziękuję.
Tony
1
Stało się to nie tylko dla mnie, ale w nieoczywisty sposób. Pracując w OSX, nawet z plikiem o nazwie Gemfile, jeśli to zrobię vi gemfile, otwiera mój Gemfile, a następnie po zapisaniu zmienia jego nazwę na gemfilebez ostrzeżenia!
B Seven
Myślę, że jest to dobry powód, aby ustawić partycję, która rozróżnia wielkie i małe litery ...
B Seven
2
co to jest „Gemfile”? Mam grę HTML i chcę ją przesłać w heroku. i otrzymuję ten sam błąd
Alaeddine
45

Napotkałem ten komunikat o błędzie, ale moim problemem było to, że moja aplikacja rails nie znajdowała się w katalogu głównym mojego repozytorium git. Po przeniesieniu plików do katalogu głównego wszystko działało.

ncherro
źródło
3
Wydaje się, że to kiepskie rozwiązanie. Czy istnieje właściwy sposób przekazywania aplikacji, gdy znajduje się ona w podkatalogu?
y0mbo
1
Używam git-subtree . Miałem problem z instalacją, więc skorzystałem z tej pomocy
Rian Rainey,
Miałem ten sam problem - dopiero zaczynałem od Heroku, zaczynając od RoR i napotkałem ten problem. Dzięki za poprawkę.
Mahendra Liya
Ciągle sprawdzałem linię poleceń i była "poprawna", ale potem zauważyłem, że jestem w / home / myapp / myapp ... doh ...
Will
Moja sprawa też. Gdy git initmój folder aplikacji był katalogiem głównym git, przeszedłem przez push do heroku. Dzięki.
Sophia Feng
26

Heroku wykrywa obsługiwaną aplikację, wyszukując określone pliki projektu. Aby znaleźć wymagania dla swojego języka, zacznij tutaj .

Patrick Fisher
źródło
22

Nie jest powiązany z nową aplikacją, ale ... Napotkałem ten sam komunikat o błędzie po zainstalowaniu niestandardowego BUILDPACK na heroku i zapomniałem o nim. Następnym razem, gdy poszedłem wdrożyć na heroku, zobaczyłem:

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

 !     Push rejected, no Cedar-supported app detected

Poprawka polegała na sprawdzeniu:

 heroku config

I tam znalazłem Var, z BUILDPACK_URLktórym musiałem się wyłączyć:

heroku config:unset BUILDPACK_URL

... i voila!

pdobb
źródło
Wow, to było trudne. Dzięki!
Alexander Presber
12

Inna przyczyna: pchałem mastera podczas pracy na gałęzi innej niż master. Moja gałąź główna nie miała plików Requirements.txt.

Nie chciałem przepychać się od mastera, ale heroku zwraca uwagę tylko na gałąź master. Rozwiązaniem było przeniesienie mojego lokalnego oddziału do głównego oddziału Heroku:

git push heroku local_branch:master
japhyr
źródło
2
Jesteś moim bohaterem ! Spędziłem godziny, próbując znaleźć to> <
Laurent,
7

Inna przyczyna tego błędu w aplikacjach Railsowych: mieliśmy ten błąd podczas wdrażania, kiedy nie usunęliśmy konfliktu git merge z naszego pliku Gemfile.lock.

James P. McGrath
źródło
3

Miałem ten sam problem. Plik „Gemfile” został uwzględniony w „.gitignore” i dlatego nie był częścią wdrożenia. Heroku wymaga Gemfile do projektów Railsowych.

Alexei Danchenkov
źródło
3

Naprawiłem to, wprowadzając powierzchowną zmianę w moim pliku Gemfile i ponownie wykonując polecenie. Z jakiegoś powodu nie było to uwzględnione w moim ostatnim zatwierdzeniu.

Dan Sandland
źródło
3


Tu napotkałem ten sam problem.
Moja kontrola jest następująca:
1. Upewnij się, że "Start brygadzisty" działa dobrze lokalnie.
2. Upewnij się, że na koncie heroku utworzono tylko jedną nową aplikację.
Mam nadzieję, że to pomoże.

Evan Lin
źródło
3

Byłem wykonując RailsTutorial.org kroki i ten błąd pokazał. Żadna z odpowiedzi w tym poście nie zadziałała. Potem zobaczyłem ten komentarz, który doprowadził do tej odpowiedzi, która była jedyną rzeczą, która zadziałała dla mnie, aby rozwiązać problemy innych ludzi również z samouczkiem.

2016rshah
źródło
Myślę, że przyczyną jest to, że inicjuję repozytorium w katalogu nadrzędnym katalogu RAIL_PROJECT. Dlatego cedar nie może rozpoznać typu aplikacji. Dziękuję za odpowiedź!
Robert
2

Miałem też problem z aplikacją opartą na django. Wszystko wydawało się być w porządku: nazwy plików i inne ustawienia.

Problem polegał na tym, że w konsoli heroku było BUILDPACK_URLzdefiniowane ustawienie node.js- w ten sposób aplikacja django została odrzucona.

Opal
źródło