Bundler找不到gem的兼容版本

hag*_*ope 25 version-control rubygems bundler ruby-on-rails-3 gemfile

我在我的Gemfile中添加了一个gem"koala",当我运行'bundle install'命令时,似乎已经抛出了宝石版本:

Bundler could not find compatible versions for gem "faraday":
In snapshot (Gemfile.lock):
faraday (0.6.1)

In Gemfile:
koala (~> 1.2.0beta1) depends on
  faraday (~> 0.7.4)

Running `bundle update` will rebuild your snapshot from scratch, using only
the gems in your Gemfile, which may resolve the conflict.
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个冲突?

Lan*_*ard 52

删除内容Gemfile.lock,然后bundle install重新运行.这一直在为我工作.

  • 这将自发升级你的一大堆宝石.最好一次一个地进行测试,因为更新宝石会引入错误 (2认同)

Gre*_*sen 30

您是否bundle update在错误消息指出的情况下运行? bundle install处理Gemfile的更改并bundle update升级已由Bundler管理的gem.Gemfile.lock文件锁定版本号,bundle update将更新任何未在Gemfile中直接指定的文件(如gem 'rails', '3.0.9').

删除Gemfile.lock会起作用,但运行bundle update更好.


cop*_*sis 5

我发现通过删除指定版本的 rails 解决了我的问题......而不是:

gem rails, '4.0.4'
Run Code Online (Sandbox Code Playgroud)

我做了

gem rails
Run Code Online (Sandbox Code Playgroud)

然后删除 Gemfile.lock 并重新运行bundle install


moh*_*him 5

您不能简单地删除您,Gemfile.lock如果这是一个解决方案,那么为什么Gemfile.lock首先存在,您的代码取决于此文件中锁定的版本,尝试仅更新导致冲突的Gem使用bundle update gem_name,您必须检查ReadMe如果需要对新版本进行任何更改,否则您将破坏您的代码或其他代码.