尝试使用 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:inattempt_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:intimeout' 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:ininitialize' 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:ininitialize' 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:inblock 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:indriver' 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 做点什么?