3

这真的很奇怪。我很惊讶这可能是一个问题。gem 不应该简单地能够安装所有版本,并且像 bundler/Gemfile 这样的工具将处理任何特定项目中的依赖关系吗?即使我使用以下--force选项,我也会收到同样的错误:

$ gem update
Updating installed gems
Updating activeadmin
ERROR:  While executing gem ... (Gem::ImpossibleDependenciesError)
    arbre-1.0.1 requires activesupport (>= 3.0.0) but it conflicted:
  Activated activesupport-4.0.0 instead of (= 3.2.14) via:
    activerecord-3.2.14, meta_search-1.1.3, activeadmin-0.6.1
  Activated activesupport-3.2.14 instead of (= 4.0.0) via:
    railties-4.0.0, devise-3.1.0, activeadmin-0.6.1

有人还可以解释此错误消息的含义吗?我无法弄清楚逻辑是如何工作的。该消息以 arbre-1.0.1 开头,但 gem 似乎仍在使用 activeadmin。我认为这意味着 arbre-1.0.1 需要 activesupport,并且安装了两个它可以使用,但是,有两组 gems 有冲突的 activesupport 规范。??

这是接收到的正常错误吗?我在实践中从未见过。这是否意味着某些 gem 开发人员没有正确指定依赖项?

4

1 回答 1

2

您的项目是 Rails 3 项目吗?看起来像arbre预期的那样Rails 3.2.14,但 Rails (ActiveSupport) 已更新为 4.0.0.

与其运行,不如gem update安装Bundlerbundle在您的应用程序目录中运行。

于 2013-09-25T21:45:59.893 回答