我更新了我的宝石,现在我收到了这个错误:
Unable to activate capybara-mechanize-0.2.7, because capybara-1.1.1 conflicts with capybara (~> 0.4.0) (Gem::LoadError)
我用Google搜索并搜索了,但我有点像n00b,并且不确定我接下来需要做什么。
感谢您的时间,
麦克
答案 0 :(得分:4)
您可以尝试通过调用gem uninstall capybara
来删除冲突的gem。系统将提示您删除哪个版本。
要在一次滑动中删除所有旧宝石,只需使用gem cleanup
。
清洁旧版本后,希望你不需要你应该没问题。否则,请考虑使用bundler(http://gembundler.com/)来管理项目和RVM中的gem,在这里您可以拥有完全独立的gemsets。
答案 1 :(得分:1)
我的一般工作流程如下:
在Rails / Sinatra等应用程序中,我将vendor / cache放在我的.gitignore中并运行bundle pack,将gem安装到该目录中。这样我可以在每个应用程序中保持本地安装的gems。
在我的日常工作流程中,我使用RVM切换ruby版本并将gem安装到gemsets中,我可以将其移植到RVM rubies中。 http://beginrescuened.com。 RVM的一种流行且更轻量级的替代方案是https://github.com/sstephenson/rbenv。
所以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
或更高。