2015-11-11 1 views
10

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

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.

+0

Исправление symlink не относится к вашей ситуации, файл * 18 * был для предыдущей версии (5,6, я считаю). Файл * 20 * используется с mysql 5.7. Если вы обновляете предыдущую версию, см. Http: // dev.mysql.com/doc/refman/5.7/en/upgrading-from-previous-series.html и запустите 'mysql_upgrade'. –

ответ

14

У меня возникла проблема, возникающая при создании новой среды разработки. Я установил 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 присутствует и все в персиковый.

+1

У меня нет большого опыта работы с доморощенным, но я думаю, что вы имели в виду 'brew install mysql56', а не' brew cask install mysql56'. –

+0

Спасибо, внесли изменения – eareese

+1

Спасибо. Я потратил целый день, пытаясь заставить это работать, и, наконец, вы дали мне решение, которое сработало: D – Designer023

6

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

Простое исправление установить снова mysql2:

gem uninstall mysql2 && gem install mysql2

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

gem uninstall mysql2 && bundle, если вы на Bundler.

2

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

pip install mysqlclient 

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

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

Смежные вопросы