1

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

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 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

4

2 回答 2

0

我遇到了同样的问题;目前我从我的 Gemfile 中删除/注释掉了 diaspora-client 依赖项。

我想知道为什么

bundle install --without test

不起作用。

这个线程对我也很有启发。如何在 Rails 3(捆绑器)中解决这个 gem 依赖问题?因为所有这些打包工具给了我一种隐含的感觉,一个应用程序可以同时使用两个或多个不同版本的 gem。

于 2011-11-30T17:17:23.633 回答
0

问题是您的两个依赖项依赖于同一个 gem 的不同版本(在本例中为 oauth2)。Bundle 寻求解决依赖关系,使得每个 gem 的依赖列表都由一组 gem 满足。换句话说,groovehunter 认为应用程序可以同时使用两个或多个不同版本的 gem 的感觉是不正确的。

本质上,问题来自这样一个事实,即当需要 gem 时,源文件只是在原地执行。如果两个 gem 定义了相同的顶级常量,您将体验其中一个覆盖另一个(相关警告打印到 stderr,但没有捆绑器告诉您有问题)。

看起来散居在 0d41c9c5f3b4e7a451c603385305fb17779e813f 中解决了您的具体问题。更新您的依赖项应该可以解决它。

于 2011-12-22T17:17:21.787 回答