2015-12-30 7 views
20

Ich benutze Ruby 2.3, und in der gemfile, ich habe die mysql2 gem aufgeführt. Aber wenn ich versuche rake db:migrate zu laufen, bekomme ich folgendes:Wie behebe ich "inkompatible Bibliotheksversion" für mysql2 gem mit Ruby 2.3 unter OS X?

/Users/me/.gem/ruby/2.3.0/gems/mysql2-0.4.2/lib/mysql2.rb:31:in `require': incompatible library version - /Users/me/.gem/ruby/2.3.0/gems/mysql2-0.4.2/lib/mysql2/mysql2.bundle (fatal) 

kann ich nicht um diese zu bekommen scheinen. Ich habe Mysql 5.7 mit Homebrew installiert, versucht, das Bundle zu aktualisieren, das mysql2-Juwel zu deinstallieren und neu zu installieren, alles ohne Erfolg.

Wie kann ich das gelöst bekommen?

+0

Ich habe das gleiche Problem mit der gleichen Edelstein-Version - ich benutze Sequel, nicht sicher, ob Sie es sind oder ob es einen Unterschied macht. Hast du dieses Problem gelöst? – dax

+0

auch, mit Mariadbclient auf Arch Linux – dax

+0

Nein, noch nicht. Ich benutze OS X. – croceldon

Antwort

32

Ich landete Lösung dieses mit gem pristine --all

+0

genial arbeiten, danke –

+0

große funktioniert. Würdest du bitte erklären, warum es nicht funktionierte und wie behebt das das? – Batbayar

+0

Um zu verstehen, was es tut, schauen https://www.justinweiss.com/articles/3-quick-gem-tricks/ –

5

ich dies von spring stop gefolgt mit gem pristine mysql2 gelöst haben.

0

Ich habe das gleiche Problem erlebt. Ich hatte Ruby 2.3.4 installiert und benutzte Rails 4.6.2.

Es gab zwei Probleme Ursachen und das Support-Team der Hosting-Firma, die ich verwendete, half mir, das Problem zu lösen.

Die erste war, dass die mysql2 lib, das war installiert wurde, standardmäßig verknüpft 1,8 anstelle von Ruby ruby ​​2

# lld ../2.2.0/mysql2-0.4.4/mysql2/mysql2.so 
... 
... 
libruby.so.1.8 => /usr/lib64/libruby.so.1.8 (0x00007f2af1f8a000) 
... 

Zweite Ausgabe der lib mit der installierten MySQL-Server-Konfiguration

zu kompilieren war

Also mysql2 gem muss deinstalliert und mit der richtigen ruby ​​lib neu installiert und mit der richtigen mysql config kompiliert werden.

Unten sind die Befehle.

gem uninstall mysql2 
gem install mysql2 -- --with-mysql-config=/usr/bin/mysql_config --with-opt-lib=/where/my/ruby22/lib_was_located/ 
0

erlebte ich dieses Problem zu Ubuntu 16.04

Im Folgenden hat der Trick

sudo apt-get install g++ 
sudo apt-get install build-essential 
0

laufen sudo gem pristine mysql2 bewegt für mich nicht funktioniert hat.

Ich musste das mysql2-Juwel deinstallieren und neu installieren.

Verwandte Themen