2011-01-01 16 views
32

Estoy luchando para llevar mi código a Heroku. Y después de buscar en las preguntas de Google y Stack Overflow, no he podido encontrar la solución. Aquí es lo que me sale cuando intento "git push maestro heroku":empuje Heroku rechazado, no se pudo instalar gemas a través de Bundler

Heroku receiving push 
-----> Rails app detected 
-----> Detected Rails is not set to serve static_assets 
     Installing rails3_serve_static_assets... done 
-----> Gemfile detected, running Bundler version 1.0.3 
     Unresolved dependencies detected; Installing... 
     Fetching source index for http://rubygems.org/ 
     /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/remote_fetcher.rb:300:in `open_uri_or_path': bad response Not Found 404 (http://rubygems.org/quick/Marshal.4.8/mail-2.2.6.001.gemspec.rz) (Gem::RemoteFetcher::FetchError) 
     from /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/remote_fetcher.rb:172:in `fetch_path' 
. 
.... 

Y, por último:

FAILED: http://docs.heroku.com/bundler 
!  Heroku push rejected, failed to install gems via Bundler 

error: hooks/pre-receive exited with error code 1 
To [email protected]:myapp.git 
! [remote rejected] master -> master (pre-receive hook declined) 
error: failed to push some refs to '[email protected]:myapp.git' 

Gracias por su ayuda!

Respuesta

30

No creo que sea un problema de versión de Rails, ni es específico de Heroku. (Me tocó el mismo problema hoy, al ejecutar bundle install en mi máquina de desarrollo local, con Rails 3.0.3.)

Al ejecutar bundle update localmente, como Andrew sugirió, soluciona el problema.

Edición: Como se sugiere en los comentarios: recordar a git add ., git commit -m "message"

0

consigo el mismo - 404:

curl -v -I http://rubygems.org/quick/Marshal.4.8/mail-2.2.6.001.gemspec.rz 

En su Gemfile podría intentar especificar un número de versión inferior de esta joya? 2.2.5 quizás?

+0

creo que está en el lado Heroku, porque mi Gemfile es extremadamente simple: Gem 'rieles', '3.0.0.rc' joya 'twitter_oauth' joya 'json' joya 'pg' – ismaelsow

+0

¿Hay alguna razón ¿Por qué está utilizando una versión anterior de Rails? ¿Por qué no ves si la especificación de 3.0.3 funciona para ti? – stef

1

Estoy bastante seguro de que Heroku solo admite ciertas versiones de Rails, por lo que debe tener al menos 3.0, en lugar de una versión candidata. Actualice la versión de Rails en su gemfile, ejecute bundle update, y luego intente presionar a Heroku.

2

Uso:

rm -rf ~/.bundle/ ~/.gem/ .bundle/ Gemfile.lock 

tuve Gemfile.lock en mi LocalServer asegúrese de eliminarlo de la LocalServer Y también la máquina V de HEROKU.

4

He resuelto este problema de esta manera:

  1. actualización paquete
  2. git add Gemfile.lock
  3. git commit -m 'Actualizar Gemfile.lock de Heroku'
  4. git principal empuje heroku
0

Realmente lo resolví simplemente presionándolo por segunda vez después de dejar que las cosas reposen durante unos minutos ... He vuelto a girar mi sistema dokku de s presioné y encontré el mismo problema, el mismo día después de haber intentado previamente una solución de actualización de nokogiri. Fue entonces cuando me di cuenta que esto parece ser una rareza de herokuish; no siempre toma el primer impulso.

Me pregunto si detrás de escena está instalando encabezados de biblioteca, y cuando tardan demasiado, bundler simplemente falla la instalación.

Cuestiones relacionadas