Установка капибара-вебкита ruby ​​gem

8

У меня возникают следующие ошибки при попытке установить 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.

Сергей Струк
источник

Ответы:

3

Кажется, это популярная проблема ... 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 

Переустановите рубин

rvm reinstall 1.9.3
  • Создайте уникальный свежий набор драгоценностей: https://rvm.io/gemsets/creating
  • удалить конкретную версию cabybara-webkit из Gemfile
  • Удалить Gemfile.lock

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

Я думаю, что переустановка RVM была тем, что сделало это для меня. Со временем это стало загромождено различными проектами рельсов и личными хакерами.

Пеннер
источник
Прекрасно! Удаление Gemfile.lockрешило это для меня. Пересоздание гемсета ничего не сделало, как и переустановка пакетов Qt.
Иона
Для этого теперь есть официальная вики-страница github.com/thoughtbot/capybara-webkit/wiki/…
HarlemSquirrel