有没有修复"无法在任何源中找到*gem*"错误,不涉及删除Gemfile.lock?

ben*_*ben 24 ruby-on-rails ruby-on-rails-3

我试图在新计算机上设置我的开发环境.

git clone -o heroku git@heroku.com:theirapp.git
cd theirapp
bundle
Fetching gem metadata from https://rubygems.org/......
Fetching gem metadata from https://rubygems.org/..
Could not find jquery-rails-2.0.0 in any of the sources
Run Code Online (Sandbox Code Playgroud)

谷歌搜索此错误后,响应似乎是删除Gemfile.lock,然后bundle再次运行.这有效,但后来我有不同版本的宝石,我还没有指定版本Gemfile.有没有办法修复此错误而不删除Gemfile.lock?我正在使用Rails 3.2和Ruby 1.9.3.

Jam*_*505 25

简单地跑

bundle --full-index
Run Code Online (Sandbox Code Playgroud)

这应该够了吧

  • 这是做什么的?`bundle --help` 没有为 `--full-index` 列出选项 (2认同)
  • @johnsimer as [bundler.io](https://bundler.io/v1.2/bundle_install.html)指出选项-full-index使用现代索引而不是API端点。由于某些原因,这比没有该选项时更加详尽 (2认同)

Hoa*_*Hoa 21

据rubygems.org称,jquery-rails 2.0.0已经被淘汰.这解释了你使用jquery-rails的错误.

正在运行$ bundle update jquery-rails将重建您的宝石快照.这样您就不必删除Gemfile.lock

  • 应该更新这个答案,以反映这样一个事实:直接运行"捆绑更新"通常是一个糟糕的想法.它与删除Gemfile.lock基本上完全相同.见这里:http://stackoverflow.com/questions/11876788/heroku-push-rejected-cant-find-jquery-rails-2-0-0-in-sources/12048770#12048770 (11认同)
  • 您可以使用$ bundle update <gem_name>仅更新特定的gem. (2认同)

Har*_*ood 7

捆绑器的旧版本给了我同样的问题.经过一番令人费解的事后,我意识到这就是问题所在.

运行gem install bundler完全修复它.