2012-08-09 7 views
17

Ich versuche zu schieben ein Enki gem Blog Heroku und ich bin immer einen FehlerHeroku Push abgelehnt: nicht jquery-Schienen-2.0.0 in Quellen

Could not find jquery-rails-2.0.0 in any of the sources 

jedoch in der finden Gemfile Ich hatte

`gem 'jquery-rails'` 

und ich hatte noch nie ein Problem Pushing ein Enki Blog mit diesem Setup vor. Hier ist die vollständige Fehlermeldung

Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment 
      Fetching gem metadata from https://rubygems.org/....... 
      Could not find jquery-rails-2.0.0 in any of the sources 
    ! 
    !  Failed to install gems via Bundler. 
    ! 
    !  Heroku push rejected, failed to compile Ruby/rails app 

Nachdem ich die Fehlermeldung bekam habe ich dies dem gemfile

gem 'jquery-rails-2.0.0' 

Ich habe diese Fehlermeldung

Could not find gem 'jquery-rails-2.0.0 (>= 0) java' in the gems available on this machine. 

ich dann versucht, zu tun

gem install jquery-rails 

Es gab mir

Successfully installed jquery-rails-2.0.2 
1 gem installed 
Installing ri documentation for jquery-rails-2.0.2... 
Installing RDoc documentation for jquery-rails-2.0.2... 

Aber der Push funktionierte nicht, denselben Fehler

-----> Heroku receiving push 
-----> Ruby/Rails app detected 
-----> Installing dependencies using Bundler version 1.2.0.rc 
     Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment 
     Fetching gem metadata from https://rubygems.org/....... 
     Could not find jquery-rails-2.0.0 in any of the sources 
! 
!  Failed to install gems via Bundler. 
! 
!  Heroku push rejected, failed to compile Ruby/rails app 

ist dies die gemfile

source 'https://rubygems.org' 

gem 'rails', '3.2.6' 
gem 'heroku' 

# Bundle edge Rails instead: 
# gem 'rails', :git => 'git://github.com/rails/rails.git' 

# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 

    gem 'uglifier', '>= 1.0.3' 
end 

group :development, :test do 
    gem 'sqlite3' 
end 
group :production do 
    gem 'pg' 
end 

group :production do 
    gem 'thin' 
end 
platforms :jruby do 
    gem 'activerecord-jdbcsqlite3-adapter' 
    gem 'trinidad' 
    gem 'jruby-openssl' 
end 

gem 'jquery-rails' 
#gem 'jquery-rails-2.0.0' 

# Use unicorn as the web server 
# gem 'unicorn' 

# Deploy with Capistrano 
# gem 'capistrano' 

# To use debugger 
# gem 'ruby-debug' 

# Bundle the extra gems: 
gem 'RedCloth', '~> 4.2.9', :require => 'redcloth' 
gem 'ruby-openid', :require => 'openid' 
gem 'rack-openid', :require => 'rack/openid' 
gem 'aaronh-chronic', :require => 'chronic' # Fixes for 1.9.2 
gem 'coderay' 
gem 'lesstile' 
gem 'formtastic' 
gem 'will_paginate', '~> 3.0.2' 
gem 'exception_notification', '~> 2.5.2' 
gem 'open_id_authentication' 

# Bundle gems for the local environment. Make sure to 
# put test-only gems in this group so their generators 
# and rake tasks are available in development mode: 
group :test do 
    gem 'database_cleaner' 
    gem 'cucumber-rails', :require => false 
    gem 'cucumber-websteps', :require => false 
    gem 'factory_girl' 
    gem 'rspec' 
    gem 'nokogiri', '~> 1.5.0' 
    gem 'webrat' 
end 

group :development, :test do 
    gem 'rspec-rails' 
end 

Antwort

13

für mich gearbeitet:

  • löschen Sie die Gemfile.lock
  • die Schienen-Version von der Linie entfernt => Juwel 'Schienen' (jquery war bereits ohne av Nummer)
  • führen Sie den Befehl "Paket installieren"
  • führen Sie auch "Bundle-Update jquery-Schienen" um sicherzustellen, dass alles aktualisiert wird
  • WICHTIG, übergeben Sie die neue .lock-Datei => führen Sie die "git add" aus. und "git commit ..."
  • Push alles
+7

Das könnte sehr gefährlich sein - wie der zweiköpfige @pwightman in seiner Antwort erklärt. – mraaroncruz

0

Michael,

ich die Versionsnummer entfernen musste von meinem Jquery Juwel von 2.0.0 und lassen Sie es die neueste ziehen, um dies zu arbeiten. Ich bin auf Schienen 3.2.8.rc2 und laufe auf dem Zedernstapel von Heroku. Viel Glück!

Mark

+0

Danke, aber wenn ich richtig verstehe, sehe ich nicht, dass dies meine Situation beeinflussen würde, weil es keine Versionsnummer auf dem Jquery-Juwel in meiner Gemfile gibt, und es gab mir den Fehler. Ich habe später eine Version zum Experimentieren hinzugefügt, aber dann entfernt, wenn das nicht funktioniert hat. – Leahcim

46

ich diesen gleichen Fehler und fixiert es mit:

bundle update jquery-rails

Im Blick hinein, es scheint, dass Jquery-Schienen 2.0.0 wurde aus Rubygems gezogen: http://d.pr/i/cLms/1ReBI4U8 aus welchem ​​Grund auch immer. Also haben Sie (und ich) wahrscheinlich jquery-rails installiert, als dieses Juwel die aktuellste Version war.

Es ist auch ratsam zu beachten, dass das Löschen Ihrer Gemfile.lock gefährlich sein kann und in den meisten Fällen nicht empfohlen wird.Dadurch werden alle neuesten Versionen jedes Edelsteins ohne eine Versionsnummer in Ihrer Gemdatei heruntergeladen. Wenn Edelsteine ​​mit Änderungen an API-Änderungen aktualisiert wurden (häufiger als du vielleicht denkst), könnte deine App kaputt gehen. Vielleicht auch nicht. Seien Sie vorsichtig, führen Sie Testfälle aus, wenn Sie sie haben. Das hat mir mehr als einen Kopfschmerz verursacht.

Sie ein bisschen mehr darüber, wie bundler lesen können, Gemfile und Gemfile.lock Arbeit (sowie Hinweise, wie bestimmte Edelsteine ​​richtig Upgrade) hier: http://viget.com/extend/bundler-best-practices

+5

Sie sollten dieses nicht das oben genannte verwenden. Das obige wird die Schienen aktualisieren und möglicherweise Ihre gesamte App zerstören. – Smickie

+1

Dies erklärt, warum 2.0.0 gerissen wurde: https://github.com/rails/jquery-rails/issues/62. Die Aktualisierung von jquery-rails ohne Einschränkungen brachte jQuery bis auf 1.8.2, wozu meine App nicht bereit war. Also änderte ich mein Gemfile in: Gem 'Jquery-Rails', '~> 2.0.0', dann lief Bundle Update Jquery-Rails. Das installierte 2.0.3, das das Problem mit weniger drastischen Änderungen behob. –

+0

Ich gab 'Bündelupdate jquery-rails' aus und alles schien gut zu funktionieren. Aber dieser Befehl aktualisierte andere Edelsteine ​​und endete damit, einen sehr kleinen Teil meiner Anwendung zu zerstören. Vielleicht möchten Sie stattdessen den Besuch von http://rubygems.org/gems/jquery-rails/versions in Erwägung ziehen und explizit eine neuere Version als 2.0.0 definieren. – Tass

2

Update: ich durch mhartl die Rails werde Tutorials und musste jquery-rails, '2.0.1' in der Gemfile aktualisieren, um das Bundle update jquery-rails zu bekommen.

Danke, Jatin

1

i durch Änderung ähnliches Problem hatte in Gemfile jquery-Schienen-2.0.0 bis 2.0.1 Willen mein Problem gelöst.

+1

@jam in meinem Gemfile gab es jquery-rails-2.0.0 und ich ersetzte es mit jquery-rails-2.0.1 und nachdem ich 'bundle update' getippt hatte, löste es mein Problem – whowantstolivefo

Verwandte Themen