2013-06-12 11 views
17

Chcę użyć qt5: QtWebKit z capybara-webkit.Czy mogę używać qt5 homebrew za pomocą kapibara-webkita?

brew uninstall qt 
Uninstalling /usr/local/Cellar/qt/4.8.4... 
brew install qt5 
This formula is keg-only: so it was not symlinked into /usr/local. 
    /usr/local/Cellar/qt5/5.0.2: 3103 files, 140M, built in 60.9 minutes 

Gdybym zmusić napar aby utworzyć dowiązania dla qt5 mogę zbudować natywną przedłużenie capybara-webkit ..

brew link --force qt5 
Linking /usr/local/Cellar/qt5/5.0.2... 122 symlinks created 
gem install capybara-webkit -v '1.0.0' 
Successfully installed capybara-webkit-1.0.0 

.. ale webkit_server awarie twarde ..

bundle exec rake test:integration 
Errno::EADDRNOTAVAIL: Can't assign requested address - connect(2) 
dyld: Library not loaded: /private/tmp/qt5-KytU/qt-everywhere-opensource-src-5.0.2/qtwebkit/lib/QtWebKit.framework/Versions/5/QtWebKit 
    Referenced from: /usr/local/opt/qt5/lib/QtWebKitWidgets.framework/Versions/5/QtWebKitWidgets 
    Reason: image not found 

See full osx crash report.

Próbowałem zainstalować capybara-webkit z LDFLAGS i CPPFLAGS, ale webkit_server nadal mocno zawiesza się.

env LDFLAGS=-L/usr/local/opt/qt5/lib \ 
    CPPFLAGS=-I/usr/local/opt/qt5/include \ 
    gem install capybara-webkit -v '1.0.0' 
+0

Czy w końcu rozwiązałeś ten problem? – dgilperez

+0

Nie, po prostu zrezygnowałem i nadal używałem qt4. Nie potrzebuję jeszcze żadnych funkcji qt5. –

Odpowiedz

7

Dwa lata później te same kroki z mojego pytania teraz działają. Dzięki, ktokolwiek to naprawił.

gem uninstall --all capybara-webkit 
brew remove qt 
brew install qt5 
brew linkapps qt5 # optional? 
brew link --force qt5 
gem install capybara-webkit 

Po zainstalowaniu qt5, już nie zobaczyć tę wiadomość od mojego testu pakietu:

WARNING: The next major version of capybara-webkit will require at least version 5.0 of Qt. 

Odinstalowanie capybara gem nie jest konieczne (jak inne odpowiedzi sugerują), ponieważ nie ma rodzimych rozszerzeń, a tym samym brak bezpośredniej zależności od QT.

+0

Mogę potwierdzić, że 'brew linkapps qt5' nie jest konieczne – Sid

0

Proponuję brew update, brew remove qt5 i brew install qt5, bo znaleźć w moim systemie, że:

xcrun otool -L /usr/local/Cellar/qt5/5.0.2/lib/QtWebKitWidgets.framework/Versions/5/QtWebKitWidgets 
[snip] 
/usr/local/Cellar/qt5/5.0.2/src/qtwebkit/lib/QtWebKit.framework/Versions/5/QtWebKit (compatibility version 5.0.0, current version 5.0.2) 

Więc Qt5 robi Link przeciwko QtWebKit i link jest ważny w moim systemie, w przeciwieństwie do Ciebie . Dlatego propozycja ponownej instalacji. Jeśli homebrew zainstaluje wstępnie skonstruowaną butelkę i nadal występuje ten problem, zgłoś go do trackera problemów Homebrew na github. Zainstalowałem koparkę ze źródła.

Wydaje mi się jednak, że problem związany z wyższą emisją (pomniejszą) polega na tym, że link wskazuje na src, która prawdopodobnie powinna być lib. Ale to zależy od Qt do naprawienia.

+1

Dzięki, spróbuj ponownie zainstalować i zobacz, czy zmiany wyjściowe "otool". Nie miałem jeszcze czasu. qt trwa około 10 lat, aby skompilować ... –

+0

@JaredBeck - czytając to w 2015 roku i nadal jest prawdą. Również twój komentarz rozśmieszył mnie. – flanger001

+0

@ flanger001 yeah to tylko dwa lata, jeszcze osiem lat kompilacji, aby przejść;) –

27

NOTE: IAmNaN here... this answer worked find for El Cap and Yosemite but it is no longer relevant as of MacOS Sierra. Instead follow the instructions from Thoughtbot . To summarize...

  1. Download and install a new Qt from here .
  2. Edit ~/Qt5.5.1/5.5/clang_64/mkspecs/features/mac/default_pre.prf .
  3. Around line 15 find and replace -find xcrun 2 with -find xcodebuild 2 .
  4. Save and run PATH=~/Qt5.5.1/5.5/clang_64/bin:$PATH gem install capybara-webkit

Now back to our regularly scheduled answer....

Mam to do pracy na OS X Yosemite. Powodem budowania przeciwko Qt5 było uzyskanie poprawek nie w Qt4, które uniemożliwiały w pewnych okolicznościach używanie zestawu czcionek i arkuszy stylów przez capybara-webkit.

Skomentuj klejnoty kapibara i kapibara z Twojego gemfile. Następnie:

bundle 
gem uninstall capybara-webkit 
gem uninstall capybara # if it complains about dependencies 'gem uninstall' them first 
brew remove qt 
brew remove qt5 # if you've been playing around 

Z czystym środowisku (ponowne uruchomienie terminalu):

brew tap homebrew/versions 
brew install qt55 
brew linkapps qt55 
brew link --force qt55 

Odkomentuj kapibary i kapibary-WebKit w gemfile a następnie:

bundle install 

Uwaga: Ty może bezpiecznie zignorować ostrzeżenia "naparuj odłączenia" wydane przez brew doctor.

+1

Na 'brew link --force qt5' mam" Błąd: Nie można dowiązać symlink lib/cmake/Qt5 /usr/local/lib/cmake nie jest zapisywalny. " Więc ja "sudo chown [mój użytkownik]/usr/local/lib/cmake" - "brew link --force qt5' pracował, pakiet pracował i zresetowałem własność w tym katalogu –

+4

Należy pamiętać, że (jak stwierdzono w oficjalnym instrukcje instalacji capybara-webkit tutaj: https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit) ** qt5 nie będzie zawierać QtWebKit począwszy od wersji 5.6 **, a zatem ** qt 5.5 jest ostatnią wersją obsługiwaną ** przez klejnot. Oznacza to, że powinieneś zamienić 'qt5' na' qt55' dla każdego z powyższych poleceń instalacji/łącza. – Dschee

+0

Zaktualizowałem odpowiedź. Dziękujemy za pomoc w utrzymaniu aktualności tej odpowiedzi po trzech latach @Dschee. – IAmNaN

4

Zgodnie z https://github.com/thoughtbot/capybara-webkit/issues/885, QT przestał działać z webkitem w wersji 5.6. Jest jednak dostępny napar qt55, więc użyj odpowiedzi qt55 (zamiast qt5) w powyższych odpowiedziach.

+0

Nie dotyczy mojego pytania z 2013 r., Ale nadal jest użyteczne. Nie wiedziałem o pakiecie 'qt55', dzięki! –

Powiązane problemy