Ich klonte die GitHub Repo https://github.com/8bitpal/hackful, führen 'Bundle-Installation' und jetzt 'Rake db: create'. Aber ich erhalte eine Fehlermeldung:Rails 3 - Falsche Version der MySQL-Client-Bibliothek! Gem kompiliert für die falsche Client-Bibliothek Version
Incorrect MySQL client library version! This gem was compiled for 5.0.45 but the client library is 5.5.15.
Versucht, mehr Infos über meine mysql-Setup herausfinden:
$ mysql_config --version
$ 5.0.45
$ mysql
$ mysql> SELECT version();
+-----------+
| version() |
+-----------+
| 5.1.57 |
+-----------+
Da ich selten Sysadmin Sachen fühle ich mich ein wenig verloren, wie diese Informationen zu interpretieren, das heißt warum wird die "client library 5.5.15" erwähnt, ist das eine minimale version mysql-version bei der verwendung des mysql2 gems?
Jedenfalls habe ich etwas mehr Forschung über SO und fand diesen Thread Ruby mysql2 gem compiled for wrong mysql client library version. Die Frage ist, wie bei mir:
After updating MySQL to 5.5 using apt-get, the mysql2 gem stopped working.
Here's the error:
Incorrect MySQL client library version! This gem was compiled for 5.5.17 but the client library is 5.1.58. (RuntimeError)
Die Antwort in diesem Thread:
I have encounter the same error when using Ubuntu Server 11.04 and Percona Server, what have I done was:
replace /usr/lib/libmysqlclient.so.16.0.0 with /usr/lib/libmysqlclient.so.18.0.0
Problem in meinem Fall ist, dass ich nicht eine solche Datei haben:
ls /usr/lib/mysql
libdbug.a libmyisam.a libmysqlclient.a libmysqlclient_r.a libmystrings.a libvio.a
libheap.a libmyisammrg.a libmysqlclient.la libmysqlclient_r.la libmysys.a
meisten andere Threads mit einem ähnlichen Thema sind über Windows, aber ich bin auf OS X. Irgendwelche Ideen, was kann ich als nächstes versuchen? Weitere Infos zu meinem Setup: OS X Lion, Rvm, Rails 3.1.3, Ruby 1.9.2p290. Gem Liste:
*** LOCAL GEMS ***
actionmailer (3.1.3)
actionpack (3.1.3)
activemodel (3.1.3)
activerecord (3.1.3)
activeresource (3.1.3)
activesupport (3.1.3)
addressable (2.2.7)
arel (2.2.1)
bcrypt-ruby (3.0.1)
builder (3.0.0)
bundler (1.0.21)
cancan (1.6.5)
capybara (1.1.2)
capybara-webkit (0.10.1)
childprocess (0.3.0)
coderay (1.0.5)
coffee-rails (3.1.1)
coffee-script (2.2.0)
coffee-script-source (1.2.0)
cucumber (1.1.4)
cucumber-rails (1.2.1)
database_cleaner (0.7.1)
delayed_job (3.0.0)
delayed_job_active_record (0.3.1)
devise (2.0.0)
diff-lcs (1.1.3)
erubis (2.7.0)
execjs (1.3.0)
factory_girl (2.6.3)
factory_girl_rails (1.7.0)
faker (1.0.1)
fakeweb (1.3.0)
ffi (1.0.11)
fileutils (0.7)
gherkin (2.7.6)
growl (1.0.3)
guard (1.0.3)
guard-bundler (0.1.3)
guard-cucumber (0.7.5)
guard-rspec (0.7.2)
guard-spork (0.8.0)
hike (1.2.1)
i18n (0.6.0)
jquery-rails (1.0.19)
json (1.6.5)
launchy (2.0.5)
libv8 (3.3.10.4 x86_64-darwin-11)
mail (2.3.0)
make_voteable (0.1.1)
method_source (0.7.1)
mime-types (1.17.2)
multi_json (1.0.4)
mysql (2.8.1)
mysql2 (0.3.11)
nokogiri (1.5.0)
orm_adapter (0.0.6)
polyglot (0.3.3)
pry (0.9.8.4)
rack (1.3.6)
rack-cache (1.1)
rack-mount (0.8.3)
rack-ssl (1.3.2)
rack-test (0.6.1)
rails (3.1.3)
rails_autolink (1.0.5)
railties (3.1.3)
rake (0.9.2.2)
rb-fsevent (0.9.1)
rdiscount (1.6.8)
rdoc (3.12)
rest-client (1.6.7)
rmagick (2.13.1)
rspec (2.8.0)
rspec-core (2.8.0)
rspec-expectations (2.8.0)
rspec-mocks (2.8.0)
rspec-rails (2.8.1)
rubyzip (0.9.5)
sass (3.1.12)
sass-rails (3.1.5)
selenium-webdriver (2.18.0)
slop (2.4.4)
spork (0.9.2)
sprockets (2.0.3)
sqlite3 (1.3.5)
term-ansicolor (1.0.7)
therubyracer (0.9.9)
thor (0.14.6)
tilt (1.3.3)
treetop (1.4.10)
tzinfo (0.3.31)
uglifier (1.2.2)
warden (1.1.0)
xpath (0.1.4)
aktualisieren Ich habe, was Homebrew für mysql installiert. Wenn ich es richtig verstanden wird, soll dies die MySQL-Client-Bibliothek Version sein:
$ ls /usr/local/Cellar/mysql
$ 5.5.15
Jetzt muß ich die mysql_config auf 5.5.15 aktualisiert bekommen?
Update 2 Gelöst. Dieser hat den Trick:
gem install mysql2 -- --with-mysql-config=/usr/local/Cellar/mysql/5.5.15/bin/mysql_config
Quelle: Install the mysql2 gem for a specific mysql client version?
Wie hast du MySQL installiert? durch brühen oder von der Quelle? – ctilley79
Nicht sicher mehr, es könnte alles sein: Macports, Quelle, brauen. Wie kann ich es überprüfen? – hebe
Verwenden Sie den 'which' Befehl und folgen Sie den Verzeichnissen zurück zum Installationspunkt. – nickpellant