rspec 和 capybara 带有关于使用 4.8.2 的 QT 警告,但安装了 qt5
Posted
技术标签:
【中文标题】rspec 和 capybara 带有关于使用 4.8.2 的 QT 警告,但安装了 qt5【英文标题】:rspec and capybara with QT warning about using 4.8.2 but qt5 is installed 【发布时间】:2015-10-07 17:02:07 【问题描述】:我使用的是 Ubuntu 14.04,我需要让 rspec 和 capybara 与 QT5 一起工作。我已经安装了QT5。但是当我运行 rspec/feature/whatever_test 时得到这个警告:
WARNING: The next major version of capybara-webkit will require at least version 5.0 of Qt. You're using version 4.8.6.
但是:
~ % TDIR=/usr/share/qtX qmake --version
QMake version 3.0
Using Qt version 5.2.1 in /usr/lib/x86_64-linux-gnu
~ % qtchooser -l
4
5
default
qt4-i386-linux-gnu
qt4-x86_64-linux-gnu
qt4
qt5-x86_64-linux-gnu
qt5
我试过qtchooser -qt=qt5
没有任何改变。
怎么切换到qt5,让capybara用呢?
谢谢大家
【问题讨论】:
【参考方案1】:所以安装完qt5后,可以通过上面的命令进行验证。我不得不卸载 capybara-webkit gem uninstall capybara-webkit
。重新安装后我得到了这个烂摊子:
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/home/chris/.rbenv/versions/2.2.2/bin/ruby -r ./siteconf20151007-20641-1jdvtt5.rb extconf.rb
cd src/ && ( test -e Makefile.webkit_server || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /home/chris/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/capybara-webkit-1.6.0/src/webkit_server.pro -o Makefile.webkit_server ) && make -f Makefile.webkit_server
Project ERROR: Unknown module(s) in QT: webkitwidgets
make: *** [sub-src-webkit_server-pro-make_first-ordered] Error 3
Command 'make' failed
make "DESTDIR=" clean
cd src/ && ( test -e Makefile.webkit_server || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /home/chris/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/capybara-webkit-1.6.0/src/webkit_server.pro -o Makefile.webkit_server ) && make -f Makefile.webkit_server clean
Project ERROR: Unknown module(s) in QT: webkitwidgets
make: *** [sub-src-webkit_server-pro-clean-ordered] Error 3
make "DESTDIR="
cd src/ && ( test -e Makefile.webkit_server || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /home/chris/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/capybara-webkit-1.6.0/src/webkit_server.pro -o Makefile.webkit_server ) && make -f Makefile.webkit_server
Project ERROR: Unknown module(s) in QT: webkitwidgets
make: *** [sub-src-webkit_server-pro-make_first-ordered] Error 3
这里的关键是:项目错误:QT 中的未知模块:webkitwidgets
见this
你需要做的是运行 sudo apt-get install libqt5webkit5-dev
然后捆绑安装或 gem install capybara-webkit。
【讨论】:
【参考方案2】:Capybara 不使用 qt,capybara-WebKit 驱动程序使用。你需要卸载并重建 capybara-webkit
【讨论】:
嘿,感谢您的回复,任何想法如何做到这一点。我刚刚卸载,现在当我尝试重新安装时,它会抛出各种错误。 hmmm -- github.com/thoughtbot/capybara-webkit/wiki/… - 实际上声明它不会在 14.04 上使用 qt5 构建 - 不确定这是最新的还是过时的 也许这个 - bugs.launchpad.net/ubuntu/+source/qtwebkit-opensource-src/+bug/…以上是关于rspec 和 capybara 带有关于使用 4.8.2 的 QT 警告,但安装了 qt5的主要内容,如果未能解决你的问题,请参考以下文章
在 Rails 中使用 RSpec 和 Capybara 时未定义的方法“访问”