Push Heroku rejeitado, nenhum aplicativo compatível com Cedar detectado

110

Estou criando um aplicativo Rails com 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

Obteve:

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>
COR BRANCA
fonte
Você já tentou correr heroku create [appname]?
whirlwin
Eu criei um aplicativo na pilha de cedro: heroku create --stack cedar
WHITECOLOR
5
O que esse erro realmente significa?
Himmators

Respostas:

155

Tive um problema semelhante, mas com o Django (chamado incorretamente de "requirements.txt"). Acho que para generalizar as outras respostas aqui, quando você obtém esse erro, é porque o Heroku está faltando algum arquivo de chave que ele usa para identificar seu aplicativo (e seu tipo).

  • php: index.php
  • python: requisitos.txt
  • ruby: Gemfile # observe a capitalização
  • node: package.json
JnBrymn
fonte
6
Encontrou outra resposta para esse problema aqui (reinicialize o repositório git): stackoverflow.com/questions/9305370/…
Chris de
Lembrete amigável: também tenha um Procfile, se estiver executando o aplicativo da web, certifique-se de que haja um serviço da web habilitado através do Procfile apontando para o script correto. Certifique-se também de que o dinamômetro da Web esteja ativado para o aplicativo no administrador do Heroku. remote: ----->Discovering process types...Procfile declares types -> webé através do meu Procfile
Marc
Obrigado, adicionar requirements.txt me ajudou! Observe que você deve confirmá-lo (adicioná-lo ao
repositório
48

O problema era que meu "Gemfile" se chamava "gemfile"

COR BRANCA
fonte
@Whitecolor teve exatamente o mesmo problema e sua solução funcionou! Em seguida, correu para outros problemas complicados depois. Mas obrigada.
Tony
1
Isso não só aconteceu comigo, mas de uma forma não óbvia. Trabalhando no OSX, mesmo com um arquivo chamado Gemfile, se eu fizer vi gemfile, ele abre o meu Gemfile, e ao salvar o renomeia para gemfilesem avisar!
B Sete
Acho que esta é uma boa razão para configurar uma partição que distingue entre letras maiúsculas e minúsculas ...
B Sete
2
o que é "Gemfile"? Eu tenho um jogo html e quero colocá-lo no Heroku. e recebo o mesmo erro
Alaeddine
45

Encontrei esta mensagem de erro, mas meu problema era que meu aplicativo Rails não estava no diretório raiz do meu repositório git. Depois que movi os arquivos para o diretório raiz, tudo funcionou.

Ncherro
fonte
3
Isso parece uma solução ruim. Existe uma maneira adequada de enviar o aplicativo enquanto ele está em um subdiretório?
y0mbo
1
Estou usando git-subtree . Tive problemas na instalação, então usei esta ajuda
Rian Rainey
Eu tive o mesmo problema - estava apenas começando com o heroku para RoR e encontrei esse problema. Obrigado pela correção.
Mahendra Liya
Eu continuei a verificação da linha de comando e foi "correta", mas então eu percebi que estava em / home / myapp / myapp ... doh ...
Will
Meu caso também. Eu git initcoloquei a pasta do meu aplicativo como diretório raiz do git e o envio para o heroku foi concluído. Obrigado.
Sophia Feng
26

O Heroku detecta um aplicativo compatível procurando por arquivos de projeto específicos. Para encontrar os requisitos para o seu idioma, comece aqui .

Patrick Fisher
fonte
22

Não associado a um novo aplicativo, mas ... Encontrei a mesma mensagem de erro depois de instalar um BUILDPACK personalizado no heroku e esquecê-lo. A próxima vez que fui implantar para o heroku, vi:

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

 !     Push rejected, no Cedar-supported app detected

A solução foi verificar:

 heroku config

E, lá, encontrei um Var chamado BUILDPACK_URLque tive que desarmar com:

heroku config:unset BUILDPACK_URL

... e voila!

pdobb
fonte
Uau, essa foi difícil. Obrigado!
Alexander Presber
12

Outra causa: eu estava pressionando o master, enquanto trabalhava em um branch não master. Meu branch master não tinha requirements.txt.

Eu não queria empurrar do master, mas o heroku só dá atenção ao branch master. A solução foi empurrar meu branch local para o branch master do heroku:

git push heroku local_branch:master
Japhyr
fonte
2
Você é meu herói ! Passei horas tentando encontrar isso> <
Laurent
7

Outra causa desse erro para aplicativos Rails: tivemos esse erro de implantação ocorrendo quando não removemos um conflito de git merge de nosso arquivo Gemfile.lock.

James P McGrath
fonte
3

Eu tive o mesmo problema. "Gemfile" foi incluído em ".gitignore" e, portanto, não fez parte da implantação. Heroku requer Gemfile para projetos Rails.

Alexei Danchenkov
fonte
3

Corrigi isso fazendo uma mudança superficial no meu Gemfile e me comprometendo novamente. Por algum motivo, não foi incluído no meu último commit.

Dan Sandland
fonte
3


Eu encontrei o mesmo problema aqui.
Minha verificação é o seguinte:
1. Certifique-se de que "foreman start" funcione bem localmente.
2. Certifique-se de que apenas um novo aplicativo seja criado em sua conta do heroku.
Espero que ajude.

Evan Lin
fonte
3

Eu estava seguindo os passos do RailsTutorial.org e este erro apareceu. Nenhuma das respostas neste post funcionou. Então eu vi esse comentário que levou a essa resposta que foi a única coisa que funcionou para mim para poder resolver também os problemas de outras pessoas com o tutorial.

2016rshah
fonte
Acho que a causa é que iniciei o repositório no diretório pai do diretório RAIL_PROJECT. Então, make cedar não consegue reconhecer que tipo de aplicativo é. Obrigado pela sua resposta!
Robert
2

Eu também tive problemas com o aplicativo baseado em django. Tudo parecia estar bem: nomes de arquivos e outras configurações.

O problema era que no console do heroku havia uma BUILDPACK_URLconfiguração definida para node.js- portanto, o aplicativo django foi rejeitado.

Opala
fonte