bundle install で エラーがでました。

`rails s`するために `bundle install`したらエラーがでました。環境はVagrantでもともとCentOS6でやっていたものをCentOS7のboxに変更したものです。

# Mysqlがない問題

````
bundle instal

略

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

    /home/vagrant/.rbenv/versions/2.2.4/bin/ruby -r ./siteconf20160108-4279-qe05qo.rb extconf.rb
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_blocking_region()... no
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
checking for mysql_query() in -lmysqlclient... no
*** 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.
```
mysql-develをyumからinstallします。

```
sudo yum install mysql-devel gcc make

略

=====================================================================================================================================
 Package                          アーキテクチャー          バージョン                                 リポジトリー             容量
=====================================================================================================================================
インストール中:
 mariadb-devel                    x86_64                    1:5.5.44-2.el7.centos                      base                    748 k
依存性関連でのインストールをします:
 mariadb-libs                     x86_64                    1:5.5.44-2.el7.centos                      base                    754 k

トランザクションの要約
=====================================================================================================================================
インストール  1 パッケージ (+1 個の依存関係のパッケージ)

総ダウンロード容量: 1.5 M
インストール容量: 7.7 M
Is this ok [y/d/N]: y

略
```
あとこれも

```
sudo yum install mysql mysql-server
```

mariadbになっちゃうけど良いのかな？

# pgがない問題

```
bundle install

略

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

    /home/vagrant/.rbenv/versions/2.2.4/bin/ruby -r ./siteconf20160108-4682-1jn9h2s.rb extconf.rb
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
 --with-pg-config=/path/to/pg_config
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** 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.

略
```

pgをインストール

```
sudo yum install postgresql-devel

略
=====================================================================================================================================
 Package                             アーキテクチャー          バージョン                           リポジトリー                容量
=====================================================================================================================================
インストール中:
 postgresql-devel                    x86_64                    9.2.14-1.el7_1                       updates                    948 k
依存性関連でのインストールをします:
 postgresql                          x86_64                    9.2.14-1.el7_1                       updates                    3.0 M
 postgresql-libs                     x86_64                    9.2.14-1.el7_1                       updates                    231 k

トランザクションの要約
=====================================================================================================================================
インストール  1 パッケージ (+2 個の依存関係のパッケージ)

総ダウンロード容量: 4.1 M
インストール容量: 20 M
Is this ok [y/d/N]: y
略
```
pgがインストールされました。

```
bundle install

略

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

    /home/vagrant/.rbenv/versions/2.2.4/bin/ruby -r ./siteconf20160108-5365-lu62gx.rb extconf.rb
checking if the C compiler accepts ... yes
Building nokogiri using packaged libraries.
checking for gzdopen() in -lz... yes
checking for iconv... yes
************************************************************************
IMPORTANT NOTICE:

Building Nokogiri with a packaged version of libxml2-2.9.2
with the following patches applied:
	- 0001-Revert-Missing-initialization-for-the-catalog-module.patch
	- 0002-Fix-missing-entities-after-CVE-2014-3660-fix.patch

Team Nokogiri will keep on doing their best to provide security
updates in a timely manner, but if this is a concern for you and want
to use the system library instead; abort this installation process and
reinstall nokogiri as follows:

    gem install nokogiri -- --use-system-libraries
        [--with-xml2-config=/path/to/xml2-config]
        [--with-xslt-config=/path/to/xslt-config]

If you are using Bundler, tell it to use the option:

    bundle config build.nokogiri --use-system-libraries
    bundle install

Note, however, that nokogiri is not fully compatible with arbitrary
versions of libxml2 provided by OS/package vendors.

略
```
ここで `bundle config build.nokogiri --use-system-libraries`をしましたが失敗しました。

```
bundle config build.nokogiri --use-system-libraries
bundle install --path vendor/bundle

略

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

    /home/vagrant/.rbenv/versions/2.2.4/bin/ruby -r ./siteconf20160108-5747-1ngq14j.rb extconf.rb --use-system-libraries
checking if the C compiler accepts ... yes
Building nokogiri using system libraries.
libxml2 version 2.6.21 or later is required!
*** 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.
```
うーんこれそもそもlibxmlが入っていないパターンですかね(^o^;

```
sudo yum install libxml2 libxslt libxml2-devel libxslt-devel

略

=====================================================================================================================================
 Package                              アーキテクチャー         バージョン                            リポジトリー               容量
=====================================================================================================================================
インストール中:
 libxml2-devel                        x86_64                   2.9.1-6.el7_2.2                       updates                   1.0 M
 libxslt                              x86_64                   1.1.28-5.el7                          base                      242 k
 libxslt-devel                        x86_64                   1.1.28-5.el7                          base                      309 k
更新します:
 libxml2                              x86_64                   2.9.1-6.el7_2.2                       updates                   666 k
依存性関連でのインストールをします:
 libgcrypt-devel                      x86_64                   1.5.3-12.el7_1.1                      base                      129 k
 libgpg-error-devel                   x86_64                   1.12-3.el7                            base                       16 k
 xz-devel                             x86_64                   5.1.2-12alpha.el7                     base                       44 k
依存性関連での更新をします:
 libgcrypt                            x86_64                   1.5.3-12.el7_1.1                      base                      263 k
 xz                                   x86_64                   5.1.2-12alpha.el7                     base                      200 k
 xz-libs                              x86_64                   5.1.2-12alpha.el7                     base                      102 k

トランザクションの要約
=====================================================================================================================================
インストール  3 パッケージ (+3 個の依存関係のパッケージ)
更新          1 パッケージ (+3 個の依存関係のパッケージ)

総ダウンロード容量: 3.0 M
Is this ok [y/d/N]: y
```

# rails s成功

```
bundle install
bundle exec rails s -b 0.0.0.0 -p 8888
=> Booting WEBrick
=> Rails 4.2.0 application starting in development on http://0.0.0.0:8888
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2016-01-08 01:03:24] INFO  WEBrick 1.3.1
[2016-01-08 01:03:24] INFO  ruby 2.2.4 (2015-12-16) [x86_64-linux]
[2016-01-08 01:03:24] INFO  WEBrick::HTTPServer#start: pid=7468 port=8888
```
とりあえず`rails s`まではできました。

# おまけ
Mariadbで動かすには上記以外にコマンドが必要でした。
参考ページのおかげでなんとかなりました。

```
sudo systemctl restart mariadb
sudo systemctl enable mariadb.service

bundle exec rake db:create
bundle exec rake db:migrate
```

# 反省
結局mysqlなのかmariadbなのかよくわからなくなってしまいました。

# 参考

http://blog.ecoteki.com/webservice/post-2567/