mozyのかきおき

mozyの読書感想文や思考置き場

【Docker上】 bundle install 時に `require': libmariadbclient.so.18: cannot open shared object file: No such file or directory が出た時

経緯

Railsコンテナで db関連の操作をしようとしたところ

`require': libmariadbclient.so.18: cannot open shared object file: No such file or directory - /usr/local/bundle/gems/mysql2-0.5.2/lib/mysql2/mysql2.so (LoadError)

とかいって毎回こけていた。

解決方法

mysql2 をインストールし直すと良いらしい。
docker-compose run --rm hoge bin/bundle exec gem uninstall mysql2 して
docker-compose run --rm web bin/bundle install --no-cache したら解決した

参考

ruby on rails - mysql2 gem not working after updating to Ubuntu 16.04 - libmysqlclient.so.18 - Stack Overflow