docker-compose build で nokogiri をインストールする時にエラーがでた話

お昼ご飯を食べて、仕事を再開しようと思って、docker-compose を build し直したら、 以下のようなエラーが出ました。

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

    current directory: /usr/local/bundle/gems/nokogiri-1.10.1/ext/nokogiri
/usr/local/bin/ruby -I /usr/local/lib/ruby/site_ruby/2.3.0 -r
./siteconf20190304-36-uvef8.rb extconf.rb --use-system-libraries
checking if the C compiler accepts ... *** 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=/usr/local/bin/$(RUBY_BASE_NAME)
	--help
	--clean
/usr/local/lib/ruby/2.3.0/mkmf.rb:456:in `try_do': The compiler failed to
generate an executable file. (RuntimeError)
You have to install development tools first.
	from /usr/local/lib/ruby/2.3.0/mkmf.rb:571:in `block in try_compile'
	from /usr/local/lib/ruby/2.3.0/mkmf.rb:522:in `with_werror'
	from /usr/local/lib/ruby/2.3.0/mkmf.rb:571:in `try_compile'
	from extconf.rb:138:in `nokogiri_try_compile'
	from extconf.rb:162:in `block in add_cflags'
	from /usr/local/lib/ruby/2.3.0/mkmf.rb:629:in `with_cflags'
	from extconf.rb:161:in `add_cflags'
	from extconf.rb:416:in `<main>'

To see why this extension failed to compile, please check the mkmf.log which can
be found here:

  /usr/local/bundle/extensions/x86_64-linux/2.3.0/nokogiri-1.10.1/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /usr/local/bundle/gems/nokogiri-1.10.1 for
inspection.
Results logged to
/usr/local/bundle/extensions/x86_64-linux/2.3.0/nokogiri-1.10.1/gem_make.out

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

エラーを読むと、 nokogiri のインストール中にエラーがでたようです。
コンソールが真っ赤になりました。~~さっきまで動いていたのに、ビルドしなおしさなければよかった...~~

原因を探しました。開発部を総動員して、我々一生懸命探しました。
[Dockerの公式サイト](https://hub.docker.com/_/ruby?tab=tags)から ruby で検索していくと、

<img width="856" alt="スクリーンショット 2019-03-04 18.02.34.png" src="https://qiita-image-store.s3.amazonaws.com/0/53286/64f1de31-464f-2d61-603d-4fad43fa423e.png">

2日前に更新されている！！！！！！！
※ちなみに今日は3/4です。

さらに、Github の最新の[PR](https://github.com/docker-library/ruby/commit/eae22dc2dfe30b48f1633912396110539e1b8d49)を見ると、

<img width="990" alt="スクリーンショット 2019-03-04 18.08.45.png" src="https://qiita-image-store.s3.amazonaws.com/0/53286/5ac11e38-96fc-9bd9-5987-c2dbc4b45f9c.png">

このあたりが怪しいなと思いながら、このPRのコメントをみていると、**同じような境遇の人が見つかりました** :cry: 

[Error due to missing libgmp when installing nokogiri gem on ruby:2.5-slim](https://github.com/docker-library/ruby/issues/267)

> You need to apk add --no-cache gmp-dev on your Dockerfile so Nokogiri gem can install native extensions.

Dockerfile で `apk add --no-cache gmp-dev` してねということです。

## 追加した結果

```sh
Successfully built 32378f90ff55
Successfully tagged app:latest
```

無事 build できました :tada: :tada: 
`apk add --no-cache gmp-dev` してねというオチで、2, 3日すれば改善されそうですが、今、この瞬間に困っている人の役にたてば！！

このおかげで私はまだ仕事が終わっていない :scream: :scream: :scream: