web-dev-qa-db-fra.com

Heroku Push rejeté, échec de l'installation de gems via Bundler

Je me bats pour pousser mon code à Heroku. Et après une recherche sur Google et Stack Overflow, je n’ai pas trouvé de solution. Voici ce que je reçois quand j'essaie "git Push heroku master":

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'
.
....

Et enfin:

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'

Merci de votre aide!

37
ismaelsow

Je ne pense pas que ce soit un problème de version Rails, ni spécifique à Heroku. (Je rencontre le même problème aujourd'hui, lors de l'exécution de bundle install sur ma machine de développement local, avec Rails 3.0.3.)

L'exécution de bundle update localement, comme l'a suggéré Andrew, corrige le problème.

Edit: Comme suggéré dans les commentaires: n'oubliez pas de git add ., git commit -m "message"

36
Jacob

J'ai résolu ce problème de cette façon:

  1. mise à jour du paquet
  2. git ajoute Gemfile.lock
  3. git commit -m 'Mettre à jour Gemfile.lock pour Heroku'
  4. git Push maître heroku
5
Roman Krasavtsev

Utilisation:

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

J'avais Gemfile.lock sur mon serveur local Assurez-vous de le supprimer du serveur local ET de la machine HEROKU.

3
Eran

Je suis à peu près sûr que Heroku ne prend en charge que certaines versions de Rails. Vous devez donc disposer d'au moins 3.0, au lieu d'une version candidate. Mettez à jour la version de Rails dans votre gemfile, exécutez bundle update, puis essayez de pousser à Heroku.

1
Andrew

En fait, je l'ai résolu en le repoussant une seconde fois après avoir laissé les choses en suspens pendant quelques minutes ... J'ai rediffusé mon système de dokku et rencontré le même problème, le même jour après avoir tenté une solution de contournement. de mise à jour nokogiri. C'est à ce moment-là que j'ai réalisé que cela semblait être une bizarrerie de herokuish; cela ne prend pas toujours la première poussée. 

Je me demande si, en coulisse, il installe des en-têtes de bibliothèque, et quand ils prennent trop de temps, bundler échoue tout simplement. 

0
Ninjaxor

Je reçois le même - 404:

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

Dans votre Gemfile, vous pourriez essayer de spécifier un numéro de version inférieur de ce bijou? 2.2.5 peut-être?

0
stef