1

尝试使用 capybara-webkit 驱动程序执行任何 capybara 测试时出现以下错误:

dyld:库未加载:/usr/X11/lib/libpng15.15.dylib 引用自:/usr/local/Cellar/qt/4.8.0/lib/QtGui.framework/Versions/4/QtGui 原因:库版本不兼容: QtGui 需要 20.0.0 或更高版本,但 libpng15.15.dylib 提供 17.0.0 版本 /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib /capybara/driver/webkit/browser.rb:200:in initialize': Can't assign requested address - connect(2) (Errno::EADDRNOTAVAIL) from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit/browser.rb:200:in open' 来自 /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver /webkit/browser.rb:200:in attempt_connect' from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit/browser.rb:194:in block in connect' 来自 /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-1.1.2/lib/capybara/util/timeout.rb :13:in timeout' from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit/browser.rb:193:in connect' 来自 /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit/browser.rb:17:in initialize' from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit.rb:25:in 新的'来自 /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit.rb:25:in initialize' from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/webkit.rb:5:in new' 来自 /Users/ chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/webkit.rb:5:in block in <top (required)>' from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-1.1.2/lib/capybara/session.rb:61:in call'来自/Users/chris/.rvm/gems/ruby -1.9.2-p290/gems/capybara-1.1.2/lib/capybara/session.rb:61:in driver' from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-1.1.2/lib/capybara/session.rb:157:in visit' 来自 /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara -1.1.2/lib/capybara/dsl.rb:161:在“访问”中

我知道问题是由于它似乎试图使用的 libpng 版本,但我不知道如何解决它。我已经下载了最新的 libpng 源并对其进行了编译,但我假设在 capybara-webkit gem 安装中有一些东西,其中 webkit 二进制文件与堆栈跟踪中显示的文件或其他东西相关联。我只是不确定如何解决它。任何指导表示赞赏。

我正在使用 Max OS X 10.7、Ruby 1.9.2、capybara 版本 1.1.2 和 capybara-webkit 0.9.0。

编辑:回答评论中的问题 - 是的,Qt 是使用自制软件安装的。不过,我不确定我会做些什么不同的事情——你是不是建议用 LD_LIBRARY_PATH 做点什么?

4

1 回答 1

1

我遇到了同样的问题,并通过使用以下步骤完全删除 qt 并重新安装来修复它。

删除 QT

brew uninstall qt
sudo python uninstall-qt.py (I think in /Developer/Tools)

安装 QT

brew update
brew doctor - fix any issues
brew install qt4 or brew install qt4 --build-from-source
于 2014-03-25T16:24:55.073 回答