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 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>

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

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"


@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.


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


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!


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

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.


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.


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.


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.


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.


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.