19

でqt5を使いたいQtWebKitですcapybara-webkit

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

brew で qt5 のシンボリック リンクを作成するように強制すると、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

..しかしwebkit_server激しくクラッシュする..

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

完全な osx クラッシュ レポートを参照してください。

and を使用して capybara-webkit をインストールしようとしましLDFLAGSCPPFLAGSが、webkit_serverそれでも激しくクラッシュします。

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

4 に答える 4

28

注: IAmNaN here... この回答は、El Cap と Yosemite の検索で機能しましたが、MacOS Sierra の時点では関連性がなくなりました。代わりに、Thoughtbotの指示に従います。要約する...

  1. ここから新しい Qt をダウンロードしてインストールします。
  2. 編集し~/Qt5.5.1/5.5/clang_64/mkspecs/features/mac/default_pre.prfます。
  3. -find xcrun 215 行目あたりを検索して に置き換え-find xcodebuild 2ます。
  4. 保存して実行PATH=~/Qt5.5.1/5.5/clang_64/bin:$PATH gem install capybara-webkit

さて、定期的に予定されている回答に戻ります....

これをOSX Yosemiteで動作させました。Qt5 に対してビルドする理由は、一部の状況で capybar-webkit がフォントとスタイルシートのアセットを使用できないようにする、Qt4 にはないいくつかの修正を取得するためでした。

gemfile から capybara および capybara-webkit gem をコメントアウトします。それで:

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

クリーンな環境から (端末を再起動します):

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

gemfile で capybara と capybara-webkit のコメントを外してから、次のようにします。

bundle install

: によって発行される「brew unlink」警告は無視しても問題ありませんbrew doctor

于 2015-02-13T21:42:12.787 に答える
7

2年後、私の質問と同じ手順が機能するようになりました。ありがとう、それを修正した人。

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

qt5 をインストールした後、テスト スイートから次のメッセージが表示されなくなりました。

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

capybaragem にはネイティブの拡張機能がなく、QT に直接依存しないため (他の回答が示唆するように) 、gem をアンインストールする必要はありません。

于 2015-10-29T02:46:44.870 に答える
0

brew updatebrew remove qt5およびに提案しbrew install qt5ます。私のシステムで次のことを見つけたからです。

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)

したがって、Qt5 は QtWebKit に対してリンクしており、リンクはあなたのシステムとは対照的に私のシステムで有効です。したがって、再インストールすることをお勧めします。Homebrew がビルド済みのボトルをインストールしてもこの問題が解決しない場合は、github の Homebrew の問題トラッカーで報告してください。ソースからインストールしました。

ただし、アップストリームの問題 (小さな問題) は、srcおそらくlib. しかし、それを修正するのは Qt 次第です。

于 2013-06-13T14:58:32.750 に答える