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

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

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"


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


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.

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


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

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.


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.


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.


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.


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.


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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.