web-dev-qa-db-fra.com

git Push heroku master: Heroku Push rejeté, aucune application prise en charge par Cedar détectée

J'ai essayé de courir:

$ git Push heroku master    
-----

Total 7121 (delta 2300), reused 6879 (delta 2228)
 !     Heroku Push rejected, no Cedar-supported app detected

To [email protected]:fierce-atoll-4127.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to Push some refs to '[email protected]:fierce-atoll-4127.git'

Les seules réponses possibles que j'ai trouvées suggéraient que si vous avez un trait de soulignement dans le nom de votre application, cela pourrait être à l'origine de ce problème. J'ai eu un "-" et je l'ai enlevé, mais je ne peux toujours pas obtenir ce travail.

Ce qui suit se trouve dans mon fichier Requirements.txt, qui se trouve dans mon dossier src, aux côtés de settings.py et de manage.py.

Django==1.4.3
South==0.7.6
distribute==0.6.31
ipython==0.13.1
wsgiref==0.1.2
dj-database-url==0.2.0
17
Benjamin Bakhshi

Juste eu ce problème aussi. J'ai fait ce qui suit pour le résoudre: (en supposant que vous êtes dans le répertoire du projet)

rm -rf .git
git init 
git add .
git commit -m "First commit"
heroku create --stack cedar
git Push heroku master

Une solution légèrement complexe pour créer une nouvelle application, mais au moins cela fonctionne. J'espère que cela pourra aider!

33

Vous devrez probablement ajouter un fichier requirements.txt. vérifier la documentation de l'application python

12
Udi

J'avais un problème similaire et, dans mon cas, c'était parce que mes applications se trouvaient en dehors de mon dossier de projet. Heroku s'attend à avoir cette structure:

Procfile
requirements.txt
static/
myproject/
  manage.py
  app1/
  app2/
  ..
8
user2067956
rm -rf .git
git init 
git add .
git commit -m "First commit"
heroku create --stack cedar
git Push heroku master

Cela a fonctionné pour moi aussi!

3
user3650331

Django étant une application python, vous devez disposer de requirements.txt et setup.py à la racine de votre référentiel et non du sous-répertoire src. Voir https://github.com/heroku/heroku-buildpack-python/blob/master/bin/detect

2
Wing Lian

Mon erreur stupide a été de mal orthographier requirements.txt en tant que requirments.txt erroné. Je n'avais pas besoin de setup.py.

De plus, j'ai besoin de stocker le dépôt git dans Github. Le simple fait de le créer localement n'était pas suffisant.

2
hum3

J'ai longtemps lutté avec ce problème et la seule solution était de Vincent van Leeuwen , mais je ne comprenais pas pourquoi. Le problème s'est avéré que je travaillais depuis une branche locale autre que la branche principale. Alors quand je courais 

git Push heroku master

Je poussais réellement 

(local) master->(heroku) master

et pas 

(local) current_branch -> (heroku) master

comme je voulais. Cela a échoué parce que ma branche principale locale ne disposait pas d’exigences.txt, Procfile, etc.

La solution est:

git Push heroku current_branch:master

Voir heroku docs pour plus d'informations.

J'espère que cela t'aides.

2
Bill Lennon

Pour que tout le monde supprime son historique Git pour que cela fonctionne ... la seule raison qui fonctionne est que la validation initiale dans le nouveau référentiel contient les fichiers nécessaires à Heroku pour reconnaître votre application.

J'ai rencontré ce problème car j'ai ajouté les variables Procfile et requirements.txt à mon application et j'ai essayé de pousser vers Heroku avant de les commettre. Alors quand j'ai poussé à Heroku, je ne poussais pas ces fichiers!

Faire un commit avec tous les fichiers nécessaires et then push devrait résoudre ce problème, et est nettement préférable à la suppression de tout l'historique de Git.

J'espère que cela t'aides!

2
Enigmoid

Ma situation est que mes codes sont nécessaires pour enregistrer à la fois sur Github et Heroku. Si j'utilise la solution suivante, rm -rf .git supprimera la connexion à mon Github. Par conséquent, je ne peux pas transmettre mes codes à Github. 

rm -rf .git
git init 
git add .
git commit -m "First commit"
heroku create --stack cedar-14
git Push heroku master

Au lieu de cela, ma solution est la suivante:

$ heroku create
$ heroku config:add BUILDPACK_URL=git://github.com/heroku/heroku-buildpack-python.git
$ git Push heroku master
1
faustineinsun

Heroku a besoin d'un fichier exigences.txt, qui aide Heroku à connaître les dépendances à installer pour votre projet Django. Vous pouvez utiliser un outil pour générer votre fichier exigences.txt.

Exécuter en ligne de commande

pip freeze > requirements.txt

ce qui créera un fichier exigences.txt avec tous vos paquets installés, tels que Django, Django-registration, etc ...

Ce lien peut être utile: http://tutorial.djangogirls.org/deploy/README.html

1
Aspen

Vous devez ajouter le fichier require.txt à git, puis Push fonctionnera à coup sûr.

0
Hari

Toutes les solutions ci-dessus ne mentionnent pas que l’important est où est initialisé votre .git. En fait, lorsque vous essayez Push sur heroku, vous devriez le faire depuis le répertoire où vous avez initialisé le git lui-même. Le répertoire que vous téléchargez doit également être celui dans lequel vous avez des fichiers tels que 

  • exigences.txt, Procfile, virtualenv, manage.py et .gitignore

    etc. En résumé, Heroku a besoin de tous les fichiers pour comprendre le type de projet que vous souhaitez télécharger. Ces fichiers doivent donc être accessibles dans le répertoire racine.

0
Yash Agrawal