Diaspora:Bundler找不到gem“oauth2”的兼容版本:

时间:2011-11-29 08:41:12

标签: rubygems bundler diaspora

安装捆绑器后,克隆侨民并将目录更改为侨民。当我尝试捆绑安装时,我收到此错误:

  

Bundler找不到gem“oauth2”的兼容版本:In   快照(Gemfile.lock):       oauth2(0.4.1)

     

在Gemfile中:       diaspora-client(> = 0)ruby依赖于         oauth2(= 0.5.0)ruby

     

运行bundle update将使用从头开始重建快照   只有Gemfile中的宝石才能解决冲突。

当我捆绑更新时,我收到此错误:

  

Bundler找不到gem“oauth2”的兼容版本:In   的Gemfile:       diaspora-client(> = 0)ruby依赖于         oauth2(= 0.5.0)ruby

omniauth (= 0.2.6) ruby depends on
  oauth2 (0.4.1)

任何人都可以帮我解决这个问题?我按照http://macabhaird.wordpress.com/2011/03/11/installing-diaspora-on-ubuntu-server-10-04-part-2/上的指南设置了侨民。我目前正在使用ubuntu 10.04.3

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题;目前我从我的Gemfile中删除/取消评估了diaspora-client依赖关系。

我想知道为什么

bundle install --without test

不起作用。

这个帖子对我来说也很有启发性。 How do I fix this gem dependency problem in Rails 3 (bundler)?因为所有这些打包工具都让我觉得应用程序可以同时使用两个或更多不同版本的gem。

答案 1 :(得分:0)

问题是你的两个依赖项依赖于同一个gem的不同版本(在本例中为oauth2)。 Bundle试图解决依赖关系,以便每个gem的依赖列表都由一组gem来满足。换句话说,沟通猎人感觉应用程序可以同时使用两个或更多不同版本的宝石是不正确的。

基本上,问题来自这样一个事实:当需要gem时,源文件就可以简单地执行了。如果两个宝石定义了相同的顶级常量,你会遇到其中一个覆盖另一个(相关的警告打印到stderr,但没有捆绑器告诉你有问题)。

看起来侨民修复了你在0d41c9c5f3b4e7a451c603385305fb17779e813f中的具体问题。更新依赖项应解决它。