2015-11-11 7 views
10

Ich habe mysql über ein Pkg-Installationsprogramm installiert. Ich versuche, Rails Server zu starten, und ich erhalte den folgenden Fehler.Erstellen Sie einen Symlink für die Bibliothek libmysqlclient.18.dylib

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

Ich lese, dass eine Lösung, dass ein symbolischen Link wie

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

Es zu schaffen, ist keine

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

Datei nur eine

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

Ich betreibe

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

und ich kann die libmysqlclient.18.dylib Datei nicht finden.

+0

Der Symlink-Fix gilt nicht für Ihre Situation die * 18 * Datei war für eine frühere Version (5.6 glaube ich). Die Datei * 20 * wird mit MySQL 5.7 verwendet. Wenn Sie von einer früheren Version aktualisieren, finden Sie unter http: // dev.mysql.com/doc/refman/5.7/de/upgrading-from-previous-series.html und führen Sie mysql_upgrade aus. –

Antwort

14

Ich habe ein Problem wie diese beim Einrichten einer neuen Entwicklungsumgebung aufgetreten. Ich hatte MySQL über Homebrew installiert, was mir Version 5.7.9 von MySQL mit der Bibliotheksversion libmysqlclient.20.dylib gab.

In meinem Fall habe ich ein Python-Projekt eingerichtet. Die Installation der Anforderungen ist fehlgeschlagen, weil das Python-MySQL-Verbindungsstück nach libmysqlclient.18.dylib gesucht hat, das nirgends auf meinem Computer gefunden wurde.

Herabstufung auf MySQL 5.6 löste das Problem für mich:

brew uninstall mysql 
brew tap caskroom/versions 
brew install mysql56 

Jetzt ist /usr/local/lib/libmysqlclient.18.dylib Gegenwart und pfirsichfarbenen alles.

+1

Ich habe nicht viel Erfahrung mit Homebrew, aber ich denke, du meintest 'brew install mysql56', nicht' brew cask install mysql56'. –

+0

Danke, machte die Änderung – eareese

+1

Danke. Ich habe einen Tag damit verbracht, dies zum Laufen zu bringen, und schließlich gabst du mir eine Lösung, die funktionierte: D – Designer023

6

Das mysql2 Juwel, die höchstwahrscheinlich in Ihrer Rails-Umgebung sucht noch libmysqlclient.18.dylib (von dem, was muss eine vorherige mysql installieren gewesen), aber die Bibliothek ist nicht mehr da, weil die letzte manuelle Installation/Upgrade mit libmysqlclient.20.dylib ersetzt.

Die einfache Lösung ist wieder mysql2 zu installieren:

gem uninstall mysql2 && gem install mysql2

oder besser noch:

gem uninstall mysql2 && bundle, wenn Sie auf Bündler sind.

2

Ich hatte nicht mysql durch brauen oder gem installiert, und war mit dem gleichen Problem konfrontiert, dass es für libmysqlclient.18.dylib statt libmysqlclient.20.dylib suchte. Ich habe alles versucht, was hier und bei anderen Themen erwähnt wird. Nichts hat geklappt. Schließlich arbeitete für mich:

pip install mysqlclient 

Es ist nicht libmysqlclient.18.dylib nicht installieren, sondern löst die library not installed und image not found Fehler.

Hoffe es hilft jemandem!

Verwandte Themen