Capybara-1.1.1与水豚冲突(〜> 0.4.0)

时间:2011-11-01 17:30:17

标签: ruby gem capybara

我更新了我的宝石,现在我收到了这个错误:

 Unable to activate capybara-mechanize-0.2.7, because capybara-1.1.1 conflicts with capybara (~> 0.4.0) (Gem::LoadError)

我用Google搜索并搜索了,但我有点像n00b,并且不确定我接下来需要做什么。

感谢您的时间,

麦克

3 个答案:

答案 0 :(得分:4)

您可以尝试通过调用gem uninstall capybara来删除冲突的gem。系统将提示您删除哪个版本。

要在一次滑动中删除所有旧宝石,只需使用gem cleanup

清洁旧版本后,希望你不需要你应该没问题。否则,请考虑使用bundler(http://gembundler.com/)来管理项目和RVM中的gem,在这里您可以拥有完全独立的gemsets。

答案 1 :(得分:1)

我的一般工作流程如下:

  1. 在Rails / Sinatra等应用程序中,我将vendor / cache放在我的.gitignore中并运行bundle pack,将gem安装到该目录中。这样我可以在每个应用程序中保持本地安装的gems。

  2. 在我的日常工作流程中,我使用RVM切换ruby版本并将gem安装到gemsets中,我可以将其移植到RVM rubies中。 http://beginrescuened.com。 RVM的一种流行且更轻量级的替代方案是https://github.com/sstephenson/rbenv

  3. 所以bundler以理智的方式管理我的gem依赖项,RVM让我可以在粒度级别管理gem。我不久前经历了普通旧rubygems的依赖地狱,再也没有了。

答案 2 :(得分:0)

你要么安装了两个版本的Capybara(1.1.1和其他一些版本)。你可以去gem list --local(如果你正在使用Bundler做bundle show)并卸载其中一个。

或者您可能已指定要版本~> 0.4.0,版本号1.1.1超出该范围。也就是说,指定的版本范围~> 0.4.0仅适用于0.4.0 .. 0.4.x,而不适用于0.5.x或更高。