17

我正在尝试将 Enki gem 博客推送到 Heroku,但出现错误

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

但是,在我拥有的 Gemfile

`gem 'jquery-rails'`

而且我以前从未遇到过使用此设置推送 Enki 博客的问题。这是完整的错误信息

 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

收到错误消息后,我将其添加到 gemfile

gem 'jquery-rails-2.0.0'

我收到此错误消息

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

然后我试着做

gem install jquery-rails

它给了我

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

但是推送没有用,同样的错误

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

这是宝石文件

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
4

5 回答 5

46

我遇到了同样的错误并使用以下方法修复了它:

bundle update jquery-rails

在调查它时,似乎 jquery-rails 2.0.0 出于任何原因从 ruby​​gems 中被拉出:http ://d.pr/i/cLms/1ReBI4U8 。因此,当该 gem 是最新版本时,您(和我)可能碰巧安装了 jquery-rails。

值得注意的是,删除您的文件Gemfile.lock可能很危险,并且在大多数情况下不建议这样做。这会导致下载 Gemfile 中没有版本号的每个 gem 的所有最新版本。如果 gems 更新了 API 破坏性更改(发生的频率比您想象的要多),您的应用程序可能会崩溃。但它也可能不会。请注意,如果有测试用例,请运行它们。这让我不止一个头痛。

您可以在此处阅读更多关于 bundler、Gemfile 和 Gemfile.lock 的工作原理(以及如何正确升级某些 gems 的指南):http: //viget.com/extend/bundler-best-practices

于 2012-08-21T05:14:03.727 回答
13

为我工作:

  • 删除 Gemfile.lock
  • 从行中删除了 rails 版本 => gem 'rails' (jquery 已经没有 av 编号)
  • 运行命令“捆绑安装”
  • 还运行“捆绑更新 jquery-rails”以确保所有内容都已更新
  • 重要的是,提交新的 .lock 文件 => 运行“git add ”。和“git commit ...”
  • 推动一切
于 2012-08-09T15:05:15.440 回答
2

更新:我正在阅读 mhartl 的 Rails 教程,并且必须更新 Gemfile 中的 jquery-rails '2.0.1',才能让包更新 jquery-rails 继续进行。

谢谢,贾廷

于 2013-01-31T20:08:31.607 回答
1

我有类似的问题,通过将 Gemfile jquery-rails-2.0.0 更改为 2.0.1 将解决我的问题。

于 2013-07-25T08:14:09.643 回答
0

迈克尔,

我必须从 2.0.0 中删除我的 jquery gem 中的版本号,并让它拉出最新版本才能正常工作。我在 rails 3.2.8.rc2 并在 heroku 的雪松堆栈上运行。祝你好运!

标记

于 2012-08-09T13:15:56.817 回答