2011-08-22 83 views
20

我添加了一个宝石“考拉”我的Gemfile,似乎纷纷抛出宝石版本不正常,当我运行“包安装”命令:捆扎机找不到兼容版本的宝石

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. 

我该如何解决这个冲突?

回答

52

删除Gemfile.lock的内容,并再次运行bundle install。这一直在为我工作。

+1

我无法安装rails_admin,而这只是为我修复了它。感谢发布! –

25

您是否运行了bundle update错误信息指出? bundle install处理对Gemfile的更改,并且bundle update升级已由Bundler管理的宝石。 Gemfile.lock文件锁定在版本号中,bundle update将更新那些没有直接在您的Gemfile中指定的文件(如gem 'rails', '3.0.9')。

删除Gemfile.lock会正常工作,但运行bundle update更好。

1

如果删除Gemfile.lock不起作用还有另外一种可能:

它可能是你根据无意中包含了自己的Gemfile.lock的在其.gem文件中的瑰宝。解决办法是更新有问题的宝石,使其不包含Gemfile.lock,重建和重新安装。

5

我发现,通过移除轨道的指定版本解决了这个问题对我来说.... 代替:

gem rails, '4.0.4' 

我做

gem rails 

随后删除Gemfile.lock的并重新运行捆绑安装

+0

救了我的命。谢谢! – user3289157

1

您不能简单地删除您Gemfile.lock如果这是一个解决方案那么为什么Gemfile.lock首先存在,您的代码依赖于此文件中锁定的版本,请尝试仅使用bundle update gem_name来更新导致冲突的Gem,并且您必须检查自述文件是否需要使用新版本,否则你打破你的代码或其他代码。

相关问题