【Rails】El Capitanで rails s (DB:MySQL) を実行したらmysql2絡みで起動しない
久しぶりにRailsで何かやろうかな?と思って
$ rails s
を実行したところ、以下の様なエラーが発生。
$ /Users/your_name/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/mysql2-0.3.20/lib/mysql2.rb:31:in `require': dlopen(/Users/your_name/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-14/2.2.0-static/mysql2-0.3.20/mysql2/mysql2.bundle, 9): Library not loaded: /usr/local/lib/libmysqlclient.18.dylib (LoadError) $ Referenced from: /Users/your_name/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-14/2.2.0-static/mysql2-0.3.20/mysql2/mysql2.bundle $ Reason: image not found - /Users/your_name/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-14/2.2.0-static/mysql2-0.3.20/mysql2/mysql2.bundle $ from /Users/your_name/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/mysql2-0.3.20/lib/mysql2.rb:31:in `<top (required)>' $ from /Users/your_name/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/bundler-1.9.1/lib/bundler/runtime.rb:76:in `require' $ from /Users/your_name/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/bundler-1.9.1/lib/bundler/runtime.rb:76:in `block (2 levels) in require' 以下、省略
El Capitan絡みかなぁ?と思っていたら、思っていた通りEl Capitan絡みだった。
解決
Qiitaに同じような現象で記事があったので、試してみた。
しかし、自分の環境では解決せず。
そして、Stackoverflowを確認したところ、mysql2のgemを入れなおすことで
解決することがわかった。
$ gem uninstall mysql2 $ bundle install $ ... 省略 ... $ Installing mysql2 0.3.20 ※2016/03/06時点 $ ... 省略 .... $ rails s
これで起動させることができました。