Создайте символическую ссылку для библиотеки libmysqlclient.18.dylib

Я установил mysql через установщик pkg. Я пытаюсь запустить сервер rails, и я получаю следующую ошибку.

Library not loaded: libmysqlclient.18.dylib (LoadError)

Я читаю, что решение для этого - создать символическую ссылку, например

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

Нет

/usr/local/mysql/lib/libmysqlclient.18.dylib 

только файл

/usr/local/mysql/lib/libmysqlclient.20.dylib.

Я запустил

sudo find /usr/ -name libmysqlclient.18.dylib

и я не могу найти файл libmysqlclient.18.dylib.

Ответ 1

Я столкнулся с такой проблемой, создавая новую среду разработки. Я установил MySQL через homebrew, который дал мне версию 5.7.9 MySQL, с библиотечной версией libmysqlclient.20.dylib.

В моем случае я создавал проект python. Не удалось установить требования, потому что кусок соединения python-MySQL искал libmysqlclient.18.dylib, которого нигде не было найдено на моей машине.

Переход на MySQL 5.6 для меня решил проблему:

brew uninstall mysql
brew tap caskroom/versions
brew install mysql56

Теперь /usr/local/lib/libmysqlclient.18.dylib присутствует и все персиковое.

Ответ 2

Жемчуг mysql2, который, скорее всего, в вашей среде Rails, по-прежнему ищет libmysqlclient.18.dylib (из-за того, что должно было быть предыдущей установкой mysql), но библиотеки больше нет, потому что недавняя ручная установка/обновление заменила его с libmysqlclient.20.dylib.

Легкое исправление заключается в установке снова mysql2:

gem uninstall mysql2 && gem install mysql2

или еще лучше:

gem uninstall mysql2 && bundle, если вы находитесь в Bundler.

Ответ 3

У меня не было mysql, установленного через brew или gem, и столкнулся с той же проблемой, что он искал libmysqlclient.18.dylib вместо libmysqlclient.20.dylib. Я попробовал все, что упоминалось здесь, и в некоторых других потоках. Ничего не получилось. Наконец, это сработало для меня:

 pip install mysqlclient

Он не устанавливает libmysqlclient.18.dylib, но решает ошибки library not installed и image not found.

Надеюсь, это поможет кому-то!