dockerのruby2.3.1を2.3.7に変更する
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.1をFROM 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-guiをRUN 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 を追加
This post is licensed under CC BY 4.0 by the author.