安装gem capybara-webkit时出错

eiu*_*165 83 ruby gem capybara

我是ruby的新手,但在尝试安装capybara以在我的系统上运行测试时,我收到以下错误.我在运行OSX

my_app$ gem install capybara-webkit
Building native extensions.  This could take a while...
ERROR:  Error installing capybara-webkit:
ERROR: Failed to build gem native extension.

/Users/joe/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb

Gem files will remain installed in /Users/joe/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.7.2 for inspection.
Results logged to /Users/joe/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.7.2/./gem_make.out
Run Code Online (Sandbox Code Playgroud)

这是gem_make.out的结果

/Users/joe/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb
Run Code Online (Sandbox Code Playgroud)

jef*_*unt 96

尝试通过自制软件安装libqt.

$ brew install qt@5.5
Run Code Online (Sandbox Code Playgroud)

  • 如果您安装qt,则有效.我跑'brew install qt' (47认同)

Sub*_*orx 89

Linux解决方案.

Ubuntu的

sudo apt-get install libqt4-dev libqtwebkit-dev
Run Code Online (Sandbox Code Playgroud)

Debian稳定

sudo apt-get install libqt4-dev
Run Code Online (Sandbox Code Playgroud)

Fedora的

yum install qt-webkit-devel
Run Code Online (Sandbox Code Playgroud)

Fedora 16

yum install qtwebkit-devel
Run Code Online (Sandbox Code Playgroud)

这对我有用,也许对某人也有帮助.


jua*_*tas 22

brew install qt@5.5
Run Code Online (Sandbox Code Playgroud)

然后

gem install capybara-webkit -v '0.7.2'
Run Code Online (Sandbox Code Playgroud)

-v 0.7.2是选择版本项目要求你安装.请注意,从http://developer.qt.nokia.com/wiki/Support_for_Mac_OS_X安装qt 需要设置PATH变量.


小智 10

在安装QT后尝试在CentOS 6上安装capybara-webdriver时遇到了这个问题.

通过将以下内容添加到我的PATH环境变量中来解决此问题

/usr/lib64/qt4/bin/
Run Code Online (Sandbox Code Playgroud)


rob*_*oby 6

对于OSX,我不得不这样做

brew install qt
Run Code Online (Sandbox Code Playgroud)

然后

sudo gem install capybara-webkit -v '0.7.2'
Run Code Online (Sandbox Code Playgroud)

没有sudo就会出错


小智 5

macOS Sierra 10.12、El Capitan 10.11 和 Yosemite 10.10

使用 homebrew 或 macports Homebrew安装

Qt 5.5 是 capybara-webkit 将支持的最后一个 Qt 版本。Qt 项目从 5.6 的二进制版本中删除了 WebKit 绑定。

使用自制软件安装 Qt 5.5:

brew install qt@5.5
Run Code Online (Sandbox Code Playgroud)

qt55 的 Homebrew 公式只是 keg,这意味着像 qmake 这样的二进制文件不会被符号链接到您的 /usr/local/bin 目录中,因此将无法用于 capybara-webkit。

要强制 Homebrew 将这些二进制文件符号链接到您的 /usr/local/bin 目录中,您可以运行:

brew link --force qt55
Run Code Online (Sandbox Code Playgroud)

运行此命令后,您应该得到以下输出:

$ which qmake
/usr/local/bin/qmake
Run Code Online (Sandbox Code Playgroud)

麦克波特

使用 macports 安装 qt5:

sudo port install qt5 qt5-qtwebkit # It's not qt5-mac anymore.
Run Code Online (Sandbox Code Playgroud)

qt5 的 qmake 的默认位置是 /opt/local/libexec/qt5/bin/qmake。如果路径上的 qmake 不同,您可以使用 QMAKE 环境变量指示正确的。

QMAKE=/opt/local/libexec/qt5/bin/qmake gem install capybara-webkit
Run Code Online (Sandbox Code Playgroud)