2016-04-15 17 views
2

Nachdem ich bundle ausgeführt, ich habe nicht Schienen noch Rake zu verwenden. Wenn ich rails s oder rake db:migrate oder bundle exec rackup auszuführen, habe ich diesen Fehler:Fehler beim Laden „libmysqlclient.18“ - gem mysql2

/Library/Ruby/Gems/2.0.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require': dlopen(/Library/Ruby/Gems/2.0.0/gems/mysql2-0.3.20/lib/mysql2/mysql2.bundle, 9): Library not loaded: /usr/local/lib/libmysqlclient.18.dylib (LoadError) 
Referenced from: /Library/Ruby/Gems/2.0.0/gems/mysql2-0.3.20/lib/mysql2/mysql2.bundle 
Reason: image not found - /Library/Ruby/Gems/2.0.0/gems/mysql2-0.3.20/lib/mysql2/mysql2.bundle 

leider nicht den Code bricht oben (Ich mag diese Rolle nicht), aber ich wollte nicht das Verständnis des Problems verhindern .

OS: Mac OS X Yosemite - 10.10.3 
Ruby -v: ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14] 
Rails -v: Rails 4.2.1 
Mysql2 version: mysql2 (0.4.3, 0.3.20, 0.3.18) 

Ich habe versucht (getrennt Befehle in verschiedenen momments):

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

Weitere Informationen:

Der Befehl:

otool -L /Library/Ruby/Gems/2.0.0/gems/mysql2-0.3.18/lib/mysql2/mysql2.bundle

Rückkehr

/Library/Ruby/Gems/2.0.0/gems/mysql2-0.3.18/lib/mysql2/mysql2.bundle: 
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib (compatibility version 2.0.0, current version 2.0.0) 
    /usr/local/lib/libmysqlclient.18.dylib (compatibility version 18.0.0, current version 18.0.0) 
    /usr/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8) 
    /usr/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8) 
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0) 
    /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0) 

PS: bundle funktioniert gut, keine Fehler

Tks

+0

Haben Sie Datenbank in mysql erstellt, die Sie in database.yml verwenden und Benutzernamen und Passwort korrigieren – uzaif

+0

Nicht die ideale Lösung, aber ich habe ähnliche Fehler mit den neuesten Versionen des mysql2 Gem erlebt. In meinem Fall beschränkte ich die Version in 'Gemfile' nur mit:' 'mysql2', '~> 0.3.18''. –

+0

Verwenden Ubuntu oder Linux OS? –

Antwort

4

[ GELÖST]

@SeanHuber vorgeschlagen, dass ichverwenden

deinstalliert ich die Version 0.3.20 mysql2:

sudo gem uninstall mysql2 -v 0.3.20 

Danach habe ich die Version 0.3.18 installiert:

sudo gem install mysql2 -v '0.3.18' 

Und in meinem Gemfile:

gem 'mysql2', '~> 0.3.18' 

Danach wird die Bündel funktioniert. Ich muss einige Edelsteine ​​aktualisieren, wie es sich gehört. Konsequenz, habe ich das Ruby Upgrade auf 2.2.3.

Jetzt funktioniert alles.

Fazit: mysql2 -v 0.3.20 ist schlecht.

Dank @SeanHuber, um mir den Weg zu zeigen.

+1

Awesome! Wir sollten noch herausfinden, was es mit der neuen Version zu tun hat, die das Problem verursacht, aber ich bin froh, dass Sie vorläufig eine Lösung haben. –

0

Bitte beachten Sie die folgenden Schritte, wie Sie einige erforderlichen Bibliotheken fehlen erforderlich Datenbank adpater Verbindung herzustellen:

sudo apt-get install libmysql-ruby libmysqlclient-dev 
sudo apt-get install libmysqlclient-dev 
gem uninstall mysql 
bundle install 
+0

Hey, danke deine Antwort. Ich kann dies nicht tun, weil ich Mac OS X, nicht Linux ... –

+0

Sie können versuchen: https://github.com/brianmario/mysql2/tree/0.3.x –

Verwandte Themen