Jar*_*eck 19 homebrew qt qtwebkit capybara-webkit
我想用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
Run Code Online (Sandbox Code Playgroud)
如果我强制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
Run Code Online (Sandbox Code Playgroud)
..但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
Run Code Online (Sandbox Code Playgroud)
查看完整的osx崩溃报告.
我尝试安装水豚,WebKit的有LDFLAGS和CPPFLAGS,但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'
Run Code Online (Sandbox Code Playgroud)
IAm*_*NaN 28
注意: IAmNaN在这里......这个答案适用于El Cap和Yosemite,但它与MacOS Sierra不再相关.而是按照Thoughtbot的说明进行操作.总结一下......
- 从这里下载并安装新的Qt.
- 编辑
~/Qt5.5.1/5.5/clang_64/mkspecs/features/mac/default_pre.prf.- 大约15行查找和替换
-find xcrun 2使用-find xcodebuild 2.- 保存并运行
PATH=~/Qt5.5.1/5.5/clang_64/bin:$PATH gem install capybara-webkit现在回到我们定期安排的答案....
我让这个在OSX Yosemite上工作.构建Qt5的原因是为了获得一些不在Qt4中的修复,这些修复阻止了capybara-webkit在某些情况下使用字体和样式表资产.
从gemfile中注释掉capybara和capybara-webkit gems.然后:
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
Run Code Online (Sandbox Code Playgroud)
从干净的环境(重启终端):
brew tap homebrew/versions
brew install qt55
brew linkapps qt55
brew link --force qt55
Run Code Online (Sandbox Code Playgroud)
在gemfile中取消注释capybara和capybara-webkit,然后:
bundle install
Run Code Online (Sandbox Code Playgroud)
注意:您可以放心地忽略由此发出的"brew unlink"警告brew doctor.
两年后,我的问题中的相同步骤现在起作用.谢谢,无论谁修复它.
gem uninstall --all capybara-webkit
brew remove qt
brew install qt5
brew linkapps qt5 # optional?
brew link --force qt5
gem install capybara-webkit
Run Code Online (Sandbox Code Playgroud)
安装qt5后,我不再从我的测试套件中看到此消息:
WARNING: The next major version of capybara-webkit will require at least version 5.0 of Qt.
Run Code Online (Sandbox Code Playgroud)
卸载capybaragem不是必需的(正如其他答案所示),因为它没有本机扩展,因此没有直接依赖于QT.
| 归档时间: |
|
| 查看次数: |
9003 次 |
| 最近记录: |