コピペコードで快適生活

明日使えるソースを自分のために

libmysqlclient.so.18: cannot open shared object file

rails s で libmysqlclient.so ない言われたときの調査メモ

こんなエラーがでる

libmysqlclient.so.18: cannot open shared object file: No such file or directory - /path/to/mysql2.so (LoadError)

libmysqlclientがインストールされているか確認する

# ライブラリ名を確認する
apt search libmysqlclient

# ライブラリの情報を確認する
apt show libmysqlclient-dev

# どのパスにインストールされているか確認する
dpkg -L libmysqlclient-dev

共有ライブラリのパスが通っているか

以下に探索パスが登録されている

  • /etc/ld.so.conf
  • /etc/ld.so.conf.d/*

参考: https://linuc.org/study/knowledge/545/

リンクされているか

ldd /path/to/mysql2.so
# 略
libmysqlclient.so.18 => not found # おっとー
# 略

vendor/bundle以下に古いファイルが残っていて、何かおかしいことになってたのかも。 vendor/bundle以下を削除して、bundle install しなおしたら復帰しました。