Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 水豚-1.1.1与水豚冲突(~>;0.4.0)_Ruby_Gem_Capybara - Fatal编程技术网

Ruby 水豚-1.1.1与水豚冲突(~>;0.4.0)

Ruby 水豚-1.1.1与水豚冲突(~>;0.4.0),ruby,gem,capybara,Ruby,Gem,Capybara,我更新了我的gems,现在我遇到了以下错误: Unable to activate capybara-mechanize-0.2.7, because capybara-1.1.1 conflicts with capybara (~> 0.4.0) (Gem::LoadError) 我已经在谷歌上搜索过了,但我有点像n00b,不确定下一步该做什么 谢谢你抽出时间 Mike您可以通过调用gem uninstall capybara尝试删除冲突的gem。系统将提示您删除哪个版本 只需使用

我更新了我的gems,现在我遇到了以下错误:

 Unable to activate capybara-mechanize-0.2.7, because capybara-1.1.1 conflicts with capybara (~> 0.4.0) (Gem::LoadError)
我已经在谷歌上搜索过了,但我有点像n00b,不确定下一步该做什么

谢谢你抽出时间


Mike

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

只需使用
gem cleanup
,即可一次性删除所有旧宝石


清洗旧版本后,希望您不需要,您应该可以。否则,考虑使用捆绑器(http://gembundler.com/)要在项目和RVM中管理gems,您可以使用完全独立的gems。

您已经安装了两个版本的Capybara(1.1.1和其他一些版本)。您可以进入
gem列表--local
(或者如果您正在使用Bundler,请执行
bundle show
)并卸载其中一个


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

我的一般工作流程如下:

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

  • 在我的日常工作流程中,我使用RVM切换ruby版本并将gems安装到gems中,我可以跨RVM rubies进行移植。RVM的一个流行且更轻的替代品是

  • 因此,bundler以一种合理的方式管理我的gem依赖项,而RVM允许我在粒度级别管理gem。不久前,我经历了普通老鲁比杰姆的依赖地狱,再也没有了