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.