Home Articles

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

Asked
Viewed 1025 times
1

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

Bundler找不到gem“oauth2”的兼容版本:在快照(Gemfile.lock)中:oauth2(0.4.1)在Gemfile中:diaspora-client(> = 0)ruby依赖于oauth2(= 0.5.0)ruby运行bundle update将仅使用Gemfile中的gem来从头开始重建快照,这可能会解决冲突 .

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

Bundler找不到gem“oauth2”的兼容版本:在Gemfile中:diaspora-client(> = 0)ruby依赖于oauth2(= 0.5.0)ruby omniauth(= 0.2.6)ruby依赖于
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 Answers

  • 0

    我也陷入了同样的问题;目前我从我的Gemfile中删除/取消评估了diaspora-client依赖关系 .

    我想知道为什么

    bundle install --without test
    

    不起作用 .

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

  • 0

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

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

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

Related