Mac OS 10.14 Mojave + qt5.5 + gem capybara-webkit

t.0*_*0hm 6 macos qt rubygems capybara-webkit

我的配置是MAC Mojave v10.14.

我尝试安装需要qt5.5的宝石Capybara-webkit -v'1.15.0',但是自制的qt5.5已被删除,并且它与Xcode v10不兼容.

我试试这个:

  • 卸载Xcode v10
  • 安装在developer.apple.com/中的Xcode 9.4.1
  • 安装qt5.5,我在qt.io/的档案中找到了它
  • 运行包

但它失败了,我的错误是宝石capybara-webkit -v'1.15.0':

Fetching capybara-webkit 1.15.0
Installing capybara-webkit 1.15.0 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory: 
/Users/thomas/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/capybara- 
webkit-1.15.0
/Users/thomas/.rbenv/versions/2.4.4/bin/ruby -r ./siteconf20181005-763-1bppnfh.rb extconf.rb
Project ERROR: Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/Users/thomas/.rbenv/versions/2.4.4/bin/$(RUBY_BASE_NAME)
--with-gl-dir
--without-gl-dir
--with-gl-include
--without-gl-include=${gl-dir}/include
--with-gl-lib
--without-gl-lib=${gl-dir}/lib
--with-zlib-dir
--without-zlib-dir
--with-zlib-include
--without-zlib-include=${zlib-dir}/include
--with-zlib-lib
--without-zlib-lib=${zlib-dir}/lib
Command 'qmake ' failed

extconf failed, exit code 1

 Gem files will remain installed in 
/Users/thomas/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/capybara-webkit-1.15.0 for inspection.
Results logged to /Users/thomas/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/extensions/x86_64- darwin-18/2.4.0-static/capybara-webkit-1.15.0/gem_make.out

An error occurred while installing capybara-webkit (1.15.0), and Bundler 
cannot continue.
Make sure that `gem install capybara-webkit -v '1.15.0' --source 
'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
capybara-webkit
Run Code Online (Sandbox Code Playgroud)

接下来,我做了:

sudo xcodebuild -license agree

但错误仍然存​​在......

谢谢您的帮助 !

Cea*_*sta 8

capybara-webkit wiki所述,capybara-webkit取决于Qt 5.5."Qt 5.5是capybara-webkit将支持的Qt的最后一个版本.Qt项目已经从5.6中的二进制版本中删除了WebKit绑定."

要安装Qt 5.5,请按照wiki的说明进行操作.对于Mojave,说明如下.

brew update
cd $( brew --prefix )/Homebrew/Library/Taps/homebrew/homebrew-core
git checkout 9ba3d6ef8891e5c15dbdc9333f857b13711d4e97 Formula/qt@5.5.rb
brew install qt@5.5
echo 'export PATH="$(brew --prefix qt@5.5)/bin:$PATH"' >> ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

您可以通过运行确认此步骤:

$ which qmake
/usr/local/opt/qt@5.5/bin/qmake
Run Code Online (Sandbox Code Playgroud)

接下来,您需要安装Xcode 9.4.Xcode 10与Qt 5.5不兼容.Xcode 9.4可以从Apple开发人员门户下载.这是一个4GB的下载,下载和安装大约需要30分钟.您可以通过运行以下命令来验证它是否已正确安装:

$ /usr/bin/xcodebuild -version
Xcode 9.4.1
Build version 9F2000
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,可能是因为您只安装了命令行工具而不是Xcode,在这种情况下,您应该确保下载了正确版本的Xcode.或者Xcode文件夹可能设置不正确.如果是这样,你可以使用修复它xcode-select,它将指定xcodebuild运行的文件夹:

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
Run Code Online (Sandbox Code Playgroud)

最终安装Xcode时,在"应用程序"文件夹中找到它,打开它并同意许可证.然后尝试重新安装capybara-webkit.


免责声明:我从编译多个问题和答案中得出了上述答案,并试图记住我在本地计算机上运行命令的顺序.我可能不小心省略了一些步骤.

  • 我在 OS X Mojave 上运行 `brew install qt@5.5` 时遇到错误:`错误:qt@5.5:未知版本:mountain_lion` - 在此处更新后:/sf/ask/3814992541/ -5-unknown-version-mountain-lion 似乎已经解决了问题 (2认同)

Fra*_*ois 5

这是对我有用的方法,在这里找到

  • 保持你的 xcode v10 安装
  • 从他们的网站手动下载并安装 Qt 5.5
  • PATH通过将此添加到您的环境变量中,将Qt 的 bin 路径添加到您的环境变量中.bashrc.zshrc或任何其他的shell配置,你必须:(请务必将/Applications/Qt/5.5/clang_64/bin你的Qt的bin路径)
export PATH="/Applications/Qt/5.5/clang_64/bin:$PATH" # Add Qt bin to path for capybara webkit to work
Run Code Online (Sandbox Code Playgroud)
  • gem install capybara-webkit

  • 现在令人烦恼的是他们从他们的网站上删除了 Qt 5.5。链接已损坏 (3认同)
  • @BasharAbdullah 他们将其移至 https://download.qt.io/new_archive/qt/5.5/5.5.0/ (2认同)