安装 capybara-webkit ruby​​ gem

安装 capybara-webkit ruby​​ gem

当我尝试安装 capybara-webkit ruby​​ gem 时出现以下错误

Gem::Installer::ExtensionBuildError: 错误:无法构建 gem 原生扩展。

    /home/s/.rvm/rubies/ruby-1.8.7-p371/bin/ruby extconf.rb 
    cd src/ && /usr/lib/x86_64-linux-gnu/qt4/bin/qmake /home/s/.rvm/gems/ruby-1.8.7- 
    p371@/gems/capybara-webkit-0.14.1/src/webkit_server.pro -spec 
   /usr/share/qt4/mkspecs/linux-g++ -o Makefile.webkit_server
   cd src/ && make -f Makefile.webkit_server 
   make[1]: Entering directory `/home/s/.rvm/gems/ruby-1.8.7-p371@/gems/capybara-     webkit-0.14.1/src'

   g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_GUI_LIB - DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. - I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui - I/usr/include/qt4/QtWebKit -I/usr/include/qt4 -I. -o EnableLogging.o EnableLogging.cpp
   g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_GUI_LIB -  DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. - I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui - I/usr/include/qt4/QtWebKit -I/usr/include/qt4 -I. -o Authenticate.o Authenticate.cpp
 In file included from Authenticate.cpp:2:0:
 WebPage.h:46:17: error: incomplete type ‘QNetworkReply’ used in nested name specifier   
 WebPage.h:46:17: error: incomplete type ‘QNetworkReply’ used in nested name specifier
 WebPage.h:46:45: error: template argument 1 is invalid
 make[1]: *** [Authenticate.o] Error 1
 make[1]: Leaving directory `/home/s/.rvm/gems/ruby-1.8.7-p371/gems/capybara-  webkit-0.14.1/src'
 make: *** [sub-src-webkit_server-pro-make_default-ordered] Error 2
 Command 'make' failed

我使用 Ubuntu 13.04,并且安装了 libqt4-dev 和 g++。有人知道如何修复它吗?我在 Ubuntu 12.10 上正确安装了它。

答案1

似乎是一个热门话题...https://github.com/thoughtbot/capybara-webkit/issues/513

我自己也遇到过这个问题,并且为此奋斗了大约一周。不过现在似乎正在起作用!问题是我无法缩小范围到我所做的。以下是可能有助于解决此问题的一些事项的列表:

安装缺少的软件包:

sudo apt-get install libqt4-dev libqtwebkit-dev build-essential

如果软件包已经存在,则清除并安装

sudo apt-get purge libqt4-dev libqtwebkit-dev 

重新安装 ruby

rvm reinstall 1.9.3

sudo apt-get update && sudo apt-get upgrade

我认为重新安装 RVM 对我来说是件好事。随着时间的推移,它因各种不同的 Rails 项目和个人 hack 而变得杂乱无章。

相关内容