安装 capybara-webkit ruby​​ gem

Ser*_*ruk 8 installation ruby qt

当我尝试安装 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
Run Code Online (Sandbox Code Playgroud)

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

pen*_*ner 3

似乎是一个流行的问题... https://github.com/thoughtbot/capybara-webkit/issues/513

我自己也遇到过这个问题,并与之斗争了一周左右。不过现在似乎正在工作!问题是我无法将范围缩小到我所做的事情。以下是可能有助于解决此问题的事项列表:

安装缺少的软件包:

sudo apt-get install libqt4-dev libqtwebkit-dev build-essential
Run Code Online (Sandbox Code Playgroud)

如果软件包已存在,请清除然后安装

sudo apt-get purge libqt4-dev libqtwebkit-dev 
Run Code Online (Sandbox Code Playgroud)

重新安装红宝石

rvm reinstall 1.9.3
Run Code Online (Sandbox Code Playgroud)

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

我认为重新安装 RVM 对我来说就是这样。随着时间的推移,它已经变得杂乱无章,充斥着各种不同的 Rails 项目和个人黑客。