Heroku push rejeté, aucune application compatible Cedar détectée

110

Je crée une application Rails avec 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

Eu:

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>
COULEUR BLANCHE
la source
Avez-vous essayé de courir heroku create [appname]?
whirlwin
J'ai créé une application sur la pile de cèdres: heroku create --stack cedar
WHITECOLOR
5
Que signifie réellement cette erreur?
Himmators

Réponses:

155

J'ai eu un problème similaire, mais avec Django (mal nommé "requirements.txt"). Je pense que pour généraliser les autres réponses ici, lorsque vous obtenez cette erreur, c'est parce qu'il manque à Heroku un fichier clé qu'il utilise pour identifier votre application (et son type).

  • php: index.php
  • python: requirements.txt
  • ruby: Gemfile # notez la majuscule
  • nœud: package.json
JnBrymn
la source
6
Nous avons trouvé une autre réponse à ce problème ici (réinitialiser le dépôt git): stackoverflow.com/questions/9305370/…
Chris
Rappel amical: ayez également un Procfile, si vous exécutez l'application Web, assurez-vous qu'un service Web est activé via Procfile pointant vers le script correct. Assurez-vous également que le dyno Web est activé pour l'application dans l'administrateur Heroku. remote: ----->Discovering process types...Procfile declares types -> webest via mon Procfile
Marc
Merci, l'ajout de requirements.txt m'a aidé! Veuillez noter que vous devez le valider (l'ajouter au dépôt git), puis réessayer de le pousser.
ItayB
48

Le problème était que mon "Gemfile" s'appelait "Gemfile"

COULEUR BLANCHE
la source
@Whitecolor Avait exactement le même problème et votre solution a fonctionné! Puis s'est heurté à d'autres problèmes compliqués après. Mais merci.
Tony
1
Non seulement cela s'est produit pour moi, mais d'une manière non évidente. Travaillant sous OSX, même avec un fichier appelé Gemfile, si je le fais vi gemfile, il ouvre mon Gemfile, puis lors de l'enregistrement le renomme gemfilesans avertissement!
B Seven du
Je suppose que c'est une bonne raison de mettre en place une partition qui fait la distinction entre les majuscules et les minuscules ...
B Seven
2
quel est le "Gemfile"? j'ai un jeu html et je veux le pousser dans heroku. et j'obtiens la même erreur
Alaeddine
45

J'ai rencontré ce message d'erreur, mais mon problème était que mon application rails n'était pas dans le répertoire racine de mon dépôt git. Après avoir déplacé les fichiers dans le répertoire racine, tout a fonctionné.

ncherro
la source
3
Cela semble être une mauvaise solution. Existe-t-il un moyen approprié de pousser l'application lorsqu'elle est dans un sous-répertoire?
y0mbo
1
J'utilise git-subtree . J'ai eu du mal à installer alors j'ai utilisé cette aide
Rian Rainey
J'ai eu le même problème - je commençais tout juste avec le heroku pour RoR et j'ai rencontré ce problème. Merci pour le correctif.
Mahendra Liya
J'ai continué à vérifier la ligne de commande et c'était "correct", mais j'ai remarqué que j'étais dans / home / myapp / myapp ... doh ...
Will
Mon cas aussi. J'ai git initmon dossier d'application en tant que répertoire racine git, puis la poussée vers heroku est passée. Merci.
Sophia Feng
26

Heroku détecte une application prise en charge en recherchant des fichiers de projet spécifiques. Pour trouver les exigences pour votre langue, commencez ici .

  • Pour Node.js, vous avez besoin d'un fichier package.json.
  • Pour les applications Python, vous avez besoin d'un fichier requirements.txt.
  • etc.
Patrick Fisher
la source
22

Non associé à une nouvelle application, mais ... J'ai rencontré ce même message d'erreur après avoir installé un BUILDPACK personnalisé sur heroku et l'avoir oublié. La prochaine fois que je suis allé me ​​déployer sur heroku, j'ai vu:

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

 !     Push rejected, no Cedar-supported app detected

Le correctif était de vérifier:

 heroku config

Et, là, j'ai trouvé un Var appelé BUILDPACK_URLque je devais désarmer:

heroku config:unset BUILDPACK_URL

... et voilà!

pdobb
la source
Wow, c'était difficile. Merci!
Alexander Presber
12

Autre cause: je poussais master, alors que je travaillais sur une branche non master. Ma branche principale n'avait pas requirements.txt.

Je ne voulais pas pousser du maître, mais heroku ne fait attention qu'à la branche maître. La solution était de pousser ma branche locale vers la branche principale d'heroku:

git push heroku local_branch:master
japhyr
la source
2
Tu es mon héros ! J'ai passé des heures à essayer de trouver ça> <
Laurent
7

Une autre cause de cette erreur pour les applications Rails: cette erreur de déploiement s'est produite lorsque nous n'avions pas supprimé un conflit de fusion git de notre fichier Gemfile.lock.

James P McGrath
la source
3

J'ai eu le même problème. "Gemfile" a été inclus dans ".gitignore" et n'a donc pas fait partie du déploiement. Heroku requiert Gemfile pour les projets Rails.

Alexei Danchenkov
la source
3

J'ai résolu ce problème en apportant une modification superficielle à mon Gemfile et en me réengageant. Pour une raison quelconque, il n'a pas été inclus dans mon dernier commit.

Dan Sandland
la source
3


J'ai rencontré le même problème ici.
Ma vérification comme suit:
1. Assurez-vous que le «démarrage du contremaître» fonctionne bien localement.
2. Assurez-vous qu'une seule nouvelle application est créée sur votre compte heroku.
J'espère que cela aidera.

Evan Lin
la source
3

Je suivais les étapes de RailsTutorial.org et cette erreur est apparue . Aucune des réponses à ce message n'a fonctionné. Ensuite, j'ai vu ce commentaire qui a conduit à cette réponse qui était la seule chose qui fonctionnait pour moi et qui pourrait également résoudre les problèmes des autres avec le tutoriel.

2016rshah
la source
Je pense que la cause est que j'initialise le repo sur le répertoire parent du répertoire RAIL_PROJECT. Donc, make cedar ne peut pas reconnaître quel type d'application est. Merci pour votre réponse!
Robert
2

J'ai également eu le problème avec l'application basée sur django. Tout semblait aller bien: noms de fichiers et autres paramètres.

Le problème était que dans la console heroku il y avait un BUILDPACK_URLparamètre défini pour node.js- donc l'application django a été rejetée.

Opale
la source