2012-03-07 13 views
13

Tengo el siguiente problema:heroku: Gemfile.lock se requiere cuestión

estoy tratando de implementar en mi proyecto heroku pero después corro

git push heroku master 

me sale el siguiente:

git push heroku master -f 
Counting objects: 524, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (498/498), done. 
Writing objects: 100% (524/524), 157.76 KiB, done. 
Total 524 (delta 207), reused 62 (delta 2) 
-----> Heroku receiving push 
-----> Ruby/Rails app detected 
! 
!  Gemfile.lock is required. Please run "bundle install" locally 
!  and commit your Gemfile.lock. 
! 
!  Heroku push rejected, failed to compile Ruby/rails app 
To [email protected]:*****.git 
! [remote rejected] master -> master (pre-receive hook declined) 
error: failed to push some refs to '[email protected]:*****.git' 

He corrido bundle install y bundle update varias veces, he intentado eliminar Gemfile.lock del repositorio y de mi sistema de archivos. Pero todavía recibo el mismo mensaje. ¿Alguien puede decirme qué estoy haciendo mal?

La rama que intento pulsar está clonada desde el maestro.

Respuesta

21

Pocas cosas

  1. quiso colocado Gemfile.lock en git? en caso afirmativo, ¿es un bloqueo (significa que se actualizó? - lo hizo varias veces simplemente vuelva a verificar)
  2. Simplemente haga bundle install en el indicador local.
  3. Ahora coloque Gemfile.lock
    • git add . o se puede agregar sólo Gemfile.lock con este git add Gemfile.lock
    • git commit -m "mensaje de confirmación aquí"
    • git push

Ahora haz git push heroku debería funcionar.

+3

Lo he hecho varias veces, pero todavía tengo el mismo problema – RomanKapitonov

+0

Ok, primero elimine Gemfile.lock de Heroku y github y coloque uno nuevo, ¿Pueden venir al chat? - http://chat.stackoverflow.com/ podemos chatear –

5

Lo más probable es que su Gemfile.lock no esté comprometido con su repositorio. Use git st y asegúrese de que Gemfile.lock esté comprometido; revisa tu archivo .gitignore para asegurarte de que no lo ignoras accidentalmente.

+3

Lo he comprobado, este archivo está en mi comprometerse. utilicé 'git ls-files' para verificar esto – RomanKapitonov

0

Te dice que tienes que presionar un Gemfile.lock: así es como Heroku sabe qué versiones de gemas está usando tu aplicación. Después de empaquetar localmente, confirme el archivo Gemfile.lock resultante y luego envíe la aplicación a Heroku.

6

En el equipo de desarrollo dirigido rm -rf .bundle && bundle install && git add Gemfile.lock && git commit -m "Added Gemfile.lock" Entonces implementar.

2

Compruebe su archivo .gitignore, si coloca Gemfile.bloquear allí, deshacerse de esa línea y ejecutar estos comandos:

git add Gemfile.lock 
git commit -m "Added Gemfile.lock" 
git push 
git push heroku 
0

he tenido este problema, se me olvidó la bundle install

Después de él y GIT & Heroku todo ha ido bien
No se olvide o bien el git remote

después de escribir el código de la secuencia sería:

bundle install 
heroku create 
git init 
git add * 
git remote 
git commit -a -m "First init" 
git push heroku master 

creo que es completa