这真的很奇怪。我很惊讶这可能是一个问题。难道 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开发人员没有正确指定依赖关系?
gem update bundler capistrano
,然后让bundle update
处理其余部分呢? - Momer