Dockerfile

変更後

FROM ruby:2.3.7

RUN apt-get update -qq && apt-get install -y apt-utils build-essential libpq-dev nodejs qt4-dev-tools libqt4-dev libqtcore4 libqtgui4 libqtwebkit-dev libqtwebkit4

RUN mkdir -p /var

WORKDIR /var

ENV BUNDLE_JOBS=4

COPY Gemfile Gemfile
COPY Gemfile.lock Gemfile.lock

RUN bundle install

変更前

FROM ruby:2.3.1
 
RUN apt-get update -qq && apt-get install -y apt-utils build-essential libpq-dev nodejs qt4-dev-tools libqt4-dev libqt4-core libqt4-gui

RUN mkdir -p /var
 
WORKDIR /var

ENV BUNDLE_JOBS=4
 
COPY Gemfile Gemfile
COPY Gemfile.lock Gemfile.lock

RUN bundle install

2.3.7に変更

FROM ruby:2.3.1FROM ruby:2.3.7

Step 1/9 : FROM ruby:2.3.7
---> 77ff091434b0
Step 2/9 : RUN apt-get update -qq && apt-get install -y apt-utils build-essential libpq-dev nodejs qt4-dev-tools libqt4-dev libqt4-core libqt4-gui
---> Running in bb58849fe0c4
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package libqt4-core
E: Unable to locate package libqt4-gui

apt-getでインストールするモジュールを変更

RUN apt-get ... libqt4-core libqt4-guiRUN apt-get ... libqtcore4 libqtgui4

$ docker-compose build rails
Building rails
Step 1/9 : FROM ruby:2.3.7
 ---> 77ff091434b0
Step 2/9 : RUN apt-get update -qq && apt-get install -y apt-utils build-essential libpq-dev nodejs qt4-dev-tools libqt4-dev libqtcore4 libqtgui4
 ---> Using cache
 ---> 8e698bfdb416
Step 3/9 : RUN mkdir -p /var
 ---> Using cache
 ---> 6a5851d6602b
Step 4/9 : WORKDIR /var
 ---> Using cache
 ---> e30dc10c0946
Step 5/9 : ENV BUNDLE_JOBS=4
 ---> Using cache
 ---> a2265255a0f5
Step 6/9 : COPY Gemfile Gemfile
 ---> Using cache
 ---> ff5546a0baae
Step 7/9 : COPY Gemfile.lock Gemfile.lock
 ---> 1dae9fff602e
Step 8/9 : RUN bundle update
 ---> Running in 07461c94f948
Fetching gem metadata from https://rubygems.org/.......
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies..............
Fetching rake 12.3.1 (was 11.2.2)
Fetching concurrent-ruby 1.0.5 (was 1.0.2)
.
.
.
Fetching meta-tags 2.10.0 (was 2.1.0)
Fetching kaminari 1.1.1 (was 0.17.0)
Installing kaminari 1.1.1 (was 0.17.0)
Installing meta-tags 2.10.0 (was 2.1.0)
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /usr/local/bundle/gems/capybara-webkit-1.15.0
/usr/local/bin/ruby -r ./siteconf20180724-7-1k7d1f0.rb extconf.rb
cd src/ && /usr/lib/x86_64-linux-gnu/qt4/bin/qmake
/usr/local/bundle/gems/capybara-webkit-1.15.0/src/webkit_server.pro -o
Makefile.webkit_server
cd src/ && make -f Makefile.webkit_server
make[1]: Entering directory '/usr/local/bundle/gems/capybara-webkit-1.15.0/src'
.
.
.
stable.h:23:23: fatal error: QWebElement: No such file or directory
 #include <QWebElement>
                       ^
compilation terminated.
Makefile.webkit_server:505: recipe for target 'build/webkit_server.gch/c++'
failed
make[1]: *** [build/webkit_server.gch/c++] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/usr/local/bundle/gems/capybara-webkit-1.15.0/src'
Makefile:39: recipe for target 'sub-src-webkit_server-pro-make_default-ordered'
failed
make: *** [sub-src-webkit_server-pro-make_default-ordered] Error 2
Command 'make  --jobs=4' failed

current directory: /usr/local/bundle/gems/capybara-webkit-1.15.0
make "DESTDIR=" clean
cd src/ && make -f Makefile.webkit_server clean
make[1]: Entering directory '/usr/local/bundle/gems/capybara-webkit-1.15.0/src'
rm -f build/moc_BlockUrl.cpp build/moc_AllowUrl.cpp
.
.
.
stable.h:23:23: fatal error: QWebElement: No such file or directory
 #include <QWebElement>
                       ^
compilation terminated.
Makefile.webkit_server:505: recipe for target 'build/webkit_server.gch/c++'
failed
make[1]: *** [build/webkit_server.gch/c++] Error 1
make[1]: Leaving directory '/usr/local/bundle/gems/capybara-webkit-1.15.0/src'
Makefile:39: recipe for target 'sub-src-webkit_server-pro-make_default-ordered'
failed
make: *** [sub-src-webkit_server-pro-make_default-ordered] Error 2

make failed, exit code 2

Gem files will remain installed in /usr/local/bundle/gems/capybara-webkit-1.15.0
for inspection.
Results logged to
/usr/local/bundle/extensions/x86_64-linux/2.3.0/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
ERROR: Service 'rails' failed to build: The command '/bin/sh -c bundle update' returned a non-zero code: 5

apt - Unable to locate package libqt4-core and libqt4-gui on Ubuntu 16 - Ask Ubuntu

apt-getでインストールするモジュールを追加

RUN apt-get ... libqtwebkit-dev libqtwebkit4 を追加

Error installing capybara-webkit 1.11.1 with native extensions: QWebElement: No such file or directory · Issue #7729 · travis-ci/travis-ci