gem更新因Gem :: ImpossibleDependenciesError而失败

时间:2013-09-25 21:32:29

标签: ruby gem

这真的很奇怪。我很惊讶这可能是个问题。 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,并且安装了两个它可以使用,,有两组宝石具有冲突的activesupport规范。 ??

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

1 个答案:

答案 0 :(得分:2)

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

不是运行gem update,而是安装Bundler并在应用目录中运行bundle