環境
macOS High Sierra
Ryby 2.3
Rails 4.2.1
現象
bundle install
実行時にmysql2のgemインストールでコケた。
Fetching mysql2 0.4.9
Installing mysql2 0.4.9 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
かなしい。
試したこと
エラーログに書かれているコマンドを実行
An error occurred while installing mysql2 (0.4.9), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.4.9'` succeeds before bundling.
まずはエラーログに書かれているコマンドを実行。
$ gem install mysql2 -v '0.4.9'
コマンドは通るものの、bundle install
実行時の状況は変わらず。
Xcodeを最新にアップデート
Xcodeを最新にアップデートすると解決することが多いとのことでやってみる。
Xcodeが入っていない環境だったのでApp Store経由で最新版をインストール。
念のためコマンドラインツールも確認。
$ xcode-select --install
状況変わらず。
mysqlをインストール
ログの上の方を見てみると
mysql client is missing. You may need to 'brew install mysql' or 'port install mysql', and
try again.
と書かれていた。
そもそもこの環境にmysqlが入っていなかったっぽい…
ってことでインストール。
$ brew install mysql
mysqlインストール後にbundle install
叩いたら無事解決。
結論
赤字になっていなかったログを見過ごしていた。
ログは最初から読もう。