bundle install で mysql2 のgemがインストールできない
問題
Railsアプリケーションをデプロイする時、bundle install中にいつもmysql2のgemがインストールできないと怒られるので、メモ
こんな感じのことをよく言われる
--without-make-prog [50/1324] --srcdir=. --curdir --ruby=/usr/local/bin/ruby --with-mysql-dir --without-mysql-dir --with-mysql-include --without-mysql-include=${mysql-dir}/include --with-mysql-lib --without-mysql-lib=${mysql-dir}/lib --with-mysql-config --without-mysql-config --with-mysql-dir --without-mysql-dir --with-mysql-include --without-mysql-include=${mysql-dir}/include --with-mysql-lib --without-mysql-lib=${mysql-dir}/lib --with-mysqlclientlib --without-mysqlclientlib --with-mlib --without-mlib --with-mysqlclientlib --without-mysqlclientlib --with-zlib --without-zlib --with-mysqlclientlib --without-mysqlclientlib --with-socketlib --without-socketlib --with-mysqlclientlib --without-mysqlclientlib --with-nsllib --without-nsllib --with-mysqlclientlib --without-mysqlclientlib --with-mygcclib --without-mygcclib --with-mysqlclientlib --without-mysqlclientlib extconf failed, exit code 1 Gem files will remain installed in /home/youk/amc/amc_login_server/vendor/bundle/ruby/2.1.0/gems/mysql2-0.3.17 for i nspection. Results logged to /home/youk/amc/amc_login_server/vendor/bundle/ruby/2.1.0/extensions/x86_64-linux/2.1.0-static/mysq l2-0.3.17/gem_make.out An error occurred while installing mysql2 (0.3.17), and Bundler cannot continue. Make sure that `gem install mysql2 -v '0.3.17'` succeeds before bundling.
対応
Ubuntu
$ sudo apt-get install libmysqld-dev
CentOS / Amazon Linux
$ sudo yum install mysql-devel
できた
$ bundle install --path vendor/bundle ... ... Your bundle is complete! It was installed into ./vendor/bundle
いつも思うのですが、
sudo gem install mysql2
をしろ
みたいなのじゃなくてもう少しまともなメッセージが出てほしいですね。
まぁエラーメッセージが「エラー」とかよりはマシか