无法在 Rails 4 中使用 bundle install 命令安装 capybara-webkit

Not able to install capybara-webkit using bundle install command in Rails 4

我在 Rails 4 应用程序中执行命令 bundle install 时出现以下错误。

> ruby -v
ruby 2.1.8p440 (2015-12-16 revision 53160) [i386-mingw32]

> rails --version
Could not find gem 'capybara-webkit x86-mingw32' in any of the gem sources listed in your Gemfile or available on this machine.
Run `bundle install` to install missing gems.

我的 Gemfile

...
.....
group :development, :localtesting, :test do
  gem 'sqlite3',     '1.3.11'
  gem 'byebug',      '3.4.0'
  #gem 'web-console', '2.0.0.beta3'
  gem 'spring',      '1.1.3'
  gem 'i18n-tasks'
  gem 'capybara'
  gem 'selenium-webdriver'
  gem 'rspec'
  gem 'rspec-rails'
  gem 'rspec_junit_formatter'
  gem 'capybara-webkit'
end
.....
...

错误

Installing capybara-webkit 1.10.1 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    C:/RailsInstaller/Ruby2.1.0/bin/ruby.exe extconf.rb
*** 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=C:/RailsInstaller/Ruby2.1.0/bin/ruby
        --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 ' not available

extconf failed, exit code 1

Gem files will remain installed in C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/capybara-webkit-1.10.1 for inspection.
Results logged to C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/extensions/x86-mingw32/2.1.0/capybara-webkit-1.10.1/gem_make.out
Using guard-minitest 2.3.1
Using actionview 4.2.2
Using composite_primary_keys 8.1.2
Using friendly_id 5.1.0
Using paper_trail 4.0.2
An error occurred while installing capybara-webkit (1.10.1), and Bundler cannot
continue.
Make sure that `gem install capybara-webkit -v '1.10.1'` succeeds before
bundling.

注意:我已经尝试查看具有类似问题 Cannot install capybara-webkit gem 的 post 并尝试通过执行以下命令来解决问题。但是出现以下错误。

> qmake -v
'qmake' is not recognized as an internal or external command,
operable program or batch file.

安装说明位于 capybara-webkit wiki - https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit。您需要安装 Qt 5.5.1(仅当您单独构建 QtWebKit 模块时才支持 5.6)

我有 OS X El Capitan 系统。 我跟踪了这​​个 link :

https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit

然后

gem install capybara-webkit -- --with-opt-include=/usr/local/bin/qmake

这个问题已经解决了。

Ubuntu

sudo apt-get update
sudo apt-get install qt5-default libqt5webkit5-dev gstreamer1.0-plugins-base gstreamer1.0-tools gstreamer1.0-x

'qmake' is not recognized 可能意味着没有安装 Qt

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

完整的安装过程是here

我不得不 运行:

QMAKE="$(brew --prefix qt@5.5)/bin/qmake" gem install capybara-webkit

为了在出现错误后安装 gem:qt@5.5: unknown version :mountain_lion 并遵循 Homebrew instructions:

中的注释步骤

注意:如果出现错误:qt@5.5:未知版本:mountain_lion,注释行 #25 in Formula/qt@5.5.rb

对于AltLinux,应该执行以下操作:

  1. 从 root 安装开始 gem-capybara-webkit-devel 包:

    # apt-get install gem-capybara-webkit-devel
    
  2. 导出编译所需的 PATH 附加项:

    $ export PATH=/usr/share/qt5/bin:$PATH
    
  3. 使用捆绑器安装 gem

    $ bundle