Ho clonato il repository github https://github.com/8bitpal/hackful, eseguito "bundle install" e ora "rake db: create". Ma ottengo un messaggio di errore:Rails 3 - Versione errata della libreria client MySQL! Gemma compilata per la versione errata della libreria client
Incorrect MySQL client library version! This gem was compiled for 5.0.45 but the client library is 5.5.15.
cercato di scoprire maggiori dettagli sulla mia configurazione di MySQL:
$ mysql_config --version
$ 5.0.45
$ mysql
$ mysql> SELECT version();
+-----------+
| version() |
+-----------+
| 5.1.57 |
+-----------+
Dal momento che raramente roba sysadmin mi sento un po 'perso come interpretare queste informazioni, vale a dire perché la "libreria del client 5.5.15" menzionata, è quel tipo di versione minima della versione mysql quando si usa la gemma mysql2?
In ogni caso, ho fatto qualche altra ricerca su SO e ho trovato questa discussione Ruby mysql2 gem compiled for wrong mysql client library version. La domanda è simile al mio:
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)
La risposta a quel filo:
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
problema nel mio caso è che non ho questo tipo di file:
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
Most altri thread con argomenti simili riguardano Windows, ma io sono su OS X. Qualche idea su cosa posso provare dopo? Ulteriori informazioni sulla mia configurazione: OS X Lion, rvm, Rails 3.1.3, ruby 1.9.2p290. Lista Gem:
*** 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)
Aggiornamento ho controllato cosa homebrew installato per MySQL. Quando ho capito correttamente, questo dovrebbe essere il mysql versione della libreria client:
$ ls /usr/local/Cellar/mysql
$ 5.5.15
Ora ho bisogno di ottenere il mysql_config aggiornato alla 5.5.15?
Aggiornamento 2 Risolto. Questo ha fatto il trucco:
gem install mysql2 -- --with-mysql-config=/usr/local/Cellar/mysql/5.5.15/bin/mysql_config
Fonte: Install the mysql2 gem for a specific mysql client version?
Come hai installato mysql? attraverso la preparazione o dalla fonte? – ctilley79
Non sono sicuro, potrebbe essere qualsiasi cosa: macports, source, brew. Come posso controllarlo? – hebe
Usa il comando 'which' e segui le directory sul suo punto di installazione. – nickpellant