Heroku push rechazado, no se detectó ninguna aplicación compatible con Cedar

110

Estoy creando una aplicación Rails con 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

Tiene:

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>
EL COLOR BLANCO
fuente
¿Has probado a correr heroku create [appname]?
Whirlwin
He creado una aplicación en la pila de cedro: heroku create --stack cedar
WHITECOLOR
5
¿Qué significa realmente este error?
Himmators

Respuestas:

155

Tuve un problema similar, pero con Django (llamado incorrectamente "requirements.txt"). Creo que para generalizar las otras respuestas aquí, cuando aparece este error es porque a Heroku le falta algún archivo clave que usa para identificar su aplicación (y su tipo).

  • php: index.php
  • python: requirements.txt
  • ruby: Gemfile # tenga en cuenta las mayúsculas
  • nodo: paquete.json
JnBrymn
fuente
6
Encontré otra respuesta a este problema aquí (reinicialice el repositorio de git): stackoverflow.com/questions/9305370/…
Chris
Recordatorio amistoso: también tenga un Procfile, si ejecuta la aplicación web, asegúrese de que haya un servicio web habilitado a través de Procfile que apunta al script correcto. También asegúrese de que el dinamómetro web esté encendido para la aplicación en el administrador de Heroku. remote: ----->Discovering process types...Procfile declares types -> webes a través de mi Procfile
Marc
¡Gracias, agregar requirements.txt me ayudó! Tenga en cuenta que debe confirmarlo (agregarlo al repositorio de git) y luego intentar presionar nuevamente ..
ItayB
48

El problema era que mi "Gemfile" se llamaba "gemfile"

EL COLOR BLANCO
fuente
@Whitecolor Tuvo exactamente el mismo problema y su solución funcionó. Luego me encontré con otros problemas complicados después. Pero gracias.
Tony
1
Esto no solo sucedió para mí, sino de una manera no obvia. Trabajando en OSX, incluso con un archivo llamado Gemfile, si lo hago vi gemfile, abre mi Gemfile, ¡y luego, al guardarlo, lo renombra gemfilesin previo aviso!
B Seven
Supongo que esta es una buena razón para configurar una partición que distinga entre mayúsculas y minúsculas ...
B Seven
2
¿Qué es el "Gemfile"? tengo un juego html y quiero incluirlo en heroku. y obtengo el mismo error
Alaeddine
45

Me encontré con este mensaje de error, pero mi problema era que mi aplicación rails no estaba en el directorio raíz de mi repositorio git. Después de mover los archivos al directorio raíz, todo funcionó.

ncherro
fuente
3
Parece una mala solución. ¿Existe una forma adecuada de enviar la aplicación mientras está en un subdirectorio?
y0mbo
1
Estoy usando git-subtree . Tuve problemas para instalar, así que usé esta ayuda
Rian Rainey
Tuve el mismo problema: estaba comenzando con el heroku comenzando para RoR y encontré este problema. Gracias por la solución.
Mahendra Liya
Seguí comprobando la línea de comandos y era "correcta", pero luego me di cuenta de que estaba en / home / myapp / myapp ... doh ...
Will el
Mi caso también. En git initmi carpeta de aplicaciones como directorio raíz de git, luego se realizó el envío a heroku. Gracias.
Sophia Feng
26

Heroku detecta una aplicación compatible buscando archivos de proyecto específicos. Para encontrar los requisitos para su idioma, comience aquí .

Patrick Fisher
fuente
22

No asociado con una nueva aplicación, pero ... Me encontré con este mismo mensaje de error después de instalar un BUILDPACK personalizado en heroku y luego me olvidé de él. La próxima vez que fui a desplegar a heroku vi:

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

 !     Push rejected, no Cedar-supported app detected

La solución fue comprobar:

 heroku config

Y, allí, encontré un Var llamado con el BUILDPACK_URLque tuve que desarmar:

heroku config:unset BUILDPACK_URL

... ¡y voilá!

pdobb
fuente
Vaya, eso fue difícil. ¡Gracias!
Alexander Presber
12

Otra causa: estaba presionando master, mientras trabajaba en una rama no master. Mi rama principal no tenía requirements.txt.

No quería presionar al maestro, pero heroku solo presta atención a la rama maestra. La solución fue llevar mi rama local a la rama maestra de heroku:

git push heroku local_branch:master
japhyr
fuente
2
Eres mi héroe ! Pasé horas tratando de encontrar esto> <
Laurent
7

Otra causa de este error para las aplicaciones Rails: tuvimos este error de implementación cuando no habíamos eliminado un conflicto de fusión de git de nuestro archivo Gemfile.lock.

James P. McGrath
fuente
3

Tuve el mismo problema. "Gemfile" se incluyó en ".gitignore" y, por lo tanto, no ha sido parte de la implementación. Heroku requiere proyectos Gemfile for Rails.

Alexei Danchenkov
fuente
3

Arreglé esto haciendo un cambio superficial en mi Gemfile y volviendo a comprometerme. Por alguna razón, no se incluyó en mi última confirmación.

Dan Sandland
fuente
3


Me encontré con el mismo problema aquí.
Mi verificación es la siguiente:
1. Asegúrese de que el "inicio de capataz" funcione bien a nivel local.
2. Asegúrese de que solo se cree una nueva aplicación en su cuenta de heroku.
Espero que te ayude.

Evan Lin
fuente
3

Estaba siguiendo los pasos de RailsTutorial.org y apareció este error. Ninguna de las respuestas en esta publicación funcionó. Luego vi este comentario que me llevó a esta respuesta, que fue lo único que funcionó para mí para que también pudiera resolver los problemas de otras personas con el tutorial.

2016rshah
fuente
Creo que la causa es que inicié el repositorio en el directorio principal del directorio RAIL_PROJECT. Así que Make Cedar no puede reconocer qué tipo de aplicación es. ¡Gracias por tu respuesta!
Robert
2

También tuve el problema con la aplicación basada en django. Todo parecía estar bien: nombres de archivos y otras configuraciones.

El problema era que en la consola heroku había una BUILDPACK_URLconfiguración definida para node.js, por lo que la aplicación django fue rechazada.

Ópalo
fuente