2013-06-12 5 views
17

Ich möchte qt5 QtWebKit mit capybara-webkit verwenden.Kann ich Homebrew's Qt5 mit Capybara-Webkit verwenden?

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 

Wenn ich Gebräu zwingen, die symbolischen Links für QT5 zu schaffen ich für capybara-webkit die native Erweiterung bauen ..

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 

.. aber webkit_server stürzt schwer ..

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.

Ich habe versucht, capybara-webkit mit LDFLAGS und CPPFLAGS zu installieren, aber webkit_server stürzt immer noch hart ab.

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

Haben Sie das Problem gelöst? – dgilperez

+0

Nein, ich gab einfach auf und benutzte qt4 weiter. Ich brauche noch keine Features von qt5. –

Antwort

7

Zwei Jahre später funktionieren die gleichen Schritte von meiner Frage jetzt. Danke, wer auch immer es repariert hat.

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

Nach QT5 Installation sehe ich nicht mehr diese Nachricht von meiner Test-Suite:

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

Deinstallieren des capybara Juwel nicht notwendig ist (wie andere Antworten vorschlagen), weil es keine nativen Erweiterungen hat, so keine direkte Abhängigkeit von QT.

+0

Ich kann bestätigen, die 'brew linkapps qt5' ist nicht notwendig – Sid

0

Ich schlage brew update, brew remove qt5 und brew install qt5, weil ich auf meinem System finden, dass:

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) 

Das Gleiche gilt für QT5 Link gegen QtWebKit und die Verbindung ist auf meinem System im Gegensatz zu Ihnen gültig . Daher der Vorschlag zur Neuinstallation. Wenn Homebrew die vorgebaute Flasche installiert und dieses Problem weiterhin besteht, melden Sie sich bitte auf dem Homebrew-Problem-Tracker auf github. Ich habe meinen von der Quelle installiert.

Allerdings denke ich, ein Upstream-Problem (ein kleineres) ist, dass der Link in src zeigt, die wahrscheinlich lib sollte. Aber das ist bis zu Qt zu beheben.

+1

Danke, ich werde eine Neuinstallation versuchen und sehen, ob sich 'Otool'-Ausgabe ändert. Ich hatte noch keine Zeit. qt dauert etwa 10 Jahre, um zu kompilieren .. –

+0

@JaredBeck - Lesen Sie dies im Jahr 2015 und es ist immer noch wahr. Auch dein Kommentar hat mich zum Lachen gebracht. – flanger001

+0

@ flanger001 yeah es ist nur zwei Jahre, immer noch acht Jahre Compiling zu gehen;) –

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....

Ich habe dies auf OSX Yosemite arbeiten. Der Grund für die Entwicklung gegen Qt5 war, einige Korrekturen nicht in Qt4 zu bekommen, die Capybara-webkit unter bestimmten Umständen daran hinderten, Font- und Stylesheet-Assets zu verwenden.

Kommentieren Sie die Capybara und Capybara-Webkit Edelsteine ​​aus Ihrer gemfile. Dann:

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 

Von einer sauberen Umgebung (starten Sie Ihren Terminal):

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

Kommentar- Capybara und Capybara-webkit im gemfile und dann:

bundle install 

Hinweis: Sie kann die von brew doctor ausgegebenen Warnungen "brew unlink" ignorieren.

+1

Auf 'brew link --force qt5' habe ich" Fehler: Konnte nicht symlink lib/cmake/Qt5/usr/local/lib/cmake ist nicht beschreibbar. " Also habe ich "sudo chown [mein-user]/usr/local/lib/cmake" - "brew link --force qt5" gearbeitet, das bundle funktioniert und ich habe den Besitz auf dieses Verzeichnis zurückgesetzt –

+4

Bitte beachten Sie, dass (wie im offiziellen capybara-webkit Installationsanleitung hier: https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit) ** qt5 wird QtWebKit ab Version 5.6 ** und daher nicht beinhalten ** qt 5.5 ist die letzte Version, die vom Juwel unterstützt wird. Das bedeutet, dass Sie 'qt5' durch' qt55' für jeden der obigen install/link-Befehle ersetzen müssen. – Dschee

+0

Ich habe die Antwort aktualisiert. Danke, dass du geholfen hast, diese Antwort nach drei Jahren @Dschee aktuell zu halten. – IAmNaN

4

Nach https://github.com/thoughtbot/capybara-webkit/issues/885, QT funktioniert nicht mehr mit Webkit Version 5.6. Es ist jedoch ein qt55 Gebräu verfügbar, also verwenden Sie qt55 (anstelle von qt5) in den Antworten oben.

+0

Nicht anwendbar auf meine Frage von 2013, aber immer noch nützlich. Ich wusste nichts über das 'qt55' Paket, danke! –