mysql2 gem 経由で MySQL サーバ接続時ライブラリの `LoadError` が発生する

mysql2 gem 経由で MySQL サーバに接続しようとすると、ライブラリ /usr/local/lib/libmysqlclient.18.dylibがロードされず、LoadErrorが発生しました。

/Users/username/reposname/vendor/bundle/ruby/2.3.0/gems/mysql2-0.4.3/lib/mysql2.rb:31:in `require': dlopen(/Users/username/reposname/vendor/bundle/ruby/2.3.0/gems/mysql2-0.4.3/lib/mysql2/mysql2.bundle, 9): Library not loaded: /usr/local/lib/libmysqlclient.18.dylib (LoadError)
  Referenced from: /Users/username/reposname/vendor/bundle/ruby/2.3.0/gems/mysql2-0.4.3/lib/mysql2/mysql2.bundle
  Reason: image not found - /Users/username/reposname/vendor/bundle/ruby/2.3.0/gems/mysql2-0.4.3/lib/mysql2/mysql2.bundle

今回僕がこのような状況になってしまった原因は、 brew update し、既存の MySQL を更新してしまったためです。 これにより、既存のライブラリへの参照を消してしまったのでした。

よって、これを解消するために、消してしまった参照を再度付け直します。

$ sudo ln -s /usr/local/Cellar/mysql/5.6.17_1/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

これで解消されました。

References

http://stackoverflow.com/questions/5446747/ruby-mysql2-gem-not-working-mac-os-x-snow-leopard-ruby-1-9-2