69 votes

Impossible de pousser vers l'heroku

Je poussais le dépôt git actuel dans le heroku. Cette application en ligne a été développée en utilisant Scala et IntelliJ. Et je ne sais pas comment réparer cette erreur.

$ git push heroku master
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 531 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote: 
remote:  !     No default language could be detected for this app.
remote:             HINT: This occurs when Heroku cannot detect the         buildpack to use for this application automatically.
remote:             See https://devcenter.heroku.com/articles/buildpacks
remote: 
remote:  !     Push failed
remote: Verifying deploy....
remote: 
remote: !   Push rejected to salty-coast-14102.
remote: 
To https://git.heroku.com/salty-coast-14102.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/salty-coast-14102.git'

1 votes

Avez-vous package.json spécifié ?

3 votes

package.json est pour les applications Node.js, mais ceci semble être une application Scala.

47voto

jsexpert Points 704

Lisez ce document qui vous expliquera ce qu'il faut faire.
https://devcenter.heroku.com/articles/buildpacks

Définir un buildpack sur une application

Vous pouvez changer le buildpack utilisé par une application en définissant la valeur buildpack.
Lors de la prochaine poussée de l'application, le nouveau buildpack sera utilisé.

$ heroku buildpacks:set heroku/php

Set Buildpack. La prochaine version sur random-app-1234 utilisera heroku/php.
Exécuter git push heroku master pour créer une nouvelle version utilisant ce buildpack.

C'est pourquoi il ne fonctionne pas pour vous puisque vous ne l'avez pas configuré.

... Lors de la prochaine poussée de l'application, le nouveau buildpack sera utilisé.

You may also specify a buildpack during app creation :

$ heroku create myapp --buildpack heroku/python

7 votes

Merci pour votre réponse. Mais maintenant, il me dit Failed to detect set buildpack https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/‌​nodejs.tgz

0 votes

Avez-vous placé le fichier sous votre dossier racine ?

2 votes

Si c'est un projet node, vous aurez également besoin du package.json sous la racine.

15voto

CiscoKidx Points 533

Il doit y avoir un .git dans la racine de votre projet.

Si vous ne voyez pas ce répertoire, exécutez git init et ensuite réassocier votre télécommande.

Comme ça :

heroku git:remote -a herokuAppName
git push heroku master

11 votes

@ciscokidx Veuillez expliquer ce que votre solution fait pour résoudre le problème. No default language could be detected for this app. . Votre réponse ne semble pas être liée à la question ?

1 votes

@JK Il semble que Heroku exige que le répertoire .git se trouve également dans le dossier racine. Ceci a fonctionné pour moi.

1 votes

Dans les journaux fournis, git apparaît et git fonctionne, donc cette réponse n'est absolument pas pertinente.

11voto

markroxor Points 1025

Si vous êtes un python utilisateur -
Créer un requirements.txt de préférence en utilisant pip freeze > requirements.txt .
Ajoutez, engagez et essayez de pousser à nouveau.

Si cela ne fonctionne pas, essayez d'effacer .git (attention, cela peut supprimer l'historique git associé) et suivez à nouveau les étapes ci-dessus.

Ça a marché pour moi.

11voto

geekbro Points 623

Assurez-vous que vous avez package.json à l'intérieur de Root de votre projet. Bon codage :)

3voto

joekutner Points 1037

Si votre application est une application Scala, elle doit avoir une build.sbt dans le répertoire Root, et ce fichier doit être enregistré dans Git. Vous pouvez le confirmer en exécutant :

$ git ls-files build.sbt

Si ce fichier existe et est enregistré dans Git, essayez d'exécuter cette commande :

$ heroku buildpacks:set heroku/scala

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X