2011-08-24 16 views
19

Próbuję zainstalować klej mysql2 dla Ruby Enterprise Edition. Dostaję błąd, który mówi:MySQL2 z rozszerzeniami natywnymi BŁĄD: nie udało się zbudować natywnego rozszerzenia gem. (Gem :: Installer :: ExtensionBuildError)

Installing mysql2 (0.2.7) with native extensions /Users/rookieRails/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/site_ruby/1.8/rubygems/installer.rb:551:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError) 

     /Users/vinayashrestha/.rvm/rubies/ree-1.8.7-2011.03/bin/ruby extconf.rb 
checking for rb_thread_blocking_region()... no 
checking for mysql_query() in -lmysqlclient... no 
checking for main() in -lm... yes 
checking for mysql_query() in -lmysqlclient... no 
checking for main() in -lz... yes 
checking for mysql_query() in -lmysqlclient... no 
checking for main() in -lsocket... no 
checking for mysql_query() in -lmysqlclient... no 
checking for main() in -lnsl... no 
checking for mysql_query() in -lmysqlclient... no 
checking for main() in -lmygcc... no 
checking for mysql_query() in -lmysqlclient... no 
*** extconf.rb failed *** 
Could not create Makefile due to some reason, probably lack of 
necessary libraries and/or headers. Check the mkmf.log file for more 
details. You may need configuration options. 

Provided configuration options: 
    --with-opt-dir 
    --without-opt-dir 
    --with-opt-include 
    --without-opt-include=${opt-dir}/include 
    --with-opt-lib 
    --without-opt-lib=${opt-dir}/lib 
    --with-make-prog 
    --without-make-prog 

Czy ktoś ma jakiś pomysł, co konfiguracja opcji należy użyć, czy cokolwiek muszę się aby to naprawić?

Odpowiedz

1

Zdałem sobie sprawę, że nie mam zainstalowanego mySQL, niedawno uaktualniono go do Lion i zapomniałem zainstalować mySQL. Mimo to, po tym mam pewne problemy, Śledziłem ten artykuł do ustawiania wszystkiego:

http://weblog.rubyonrails.org/2009/8/30/upgrading-to-snow-leopard

A teraz wszystko działa poprawnie.

+0

Nie rozumiem, dlaczego potrzebujesz zainstalowanego mysql, prawdopodobnie łączysz się ze zdalnym serwerem, może masz na myśli "złącze mysql" – zinking

0

Muszę to opublikować i muszę powiedzieć ludziom, żeby je rozpowszechniali.

Jeśli próbujesz użyć mysql jako bazy danych, zrobiłeś wszystko dobrze i wszystko jest nie tak i po prostu nie działa i nadal dostajesz "install activerecord-mysql-adapter".

Po prostu spróbuj umieścić plik "'wokół mysql w pliku bazy danych.

adapter: 'mysql' 

zajęło około 5 godzin z mojego życia, dll, brudząc z plikami adapter, aktualizowanie zawiniątko, odinstalowanie wiele rzeczy, ich ponownej instalacji ... a potem „powiem ci«»tutaj ... "

Działa teraz.

53

spróbować z tego, że pracował dla mnie:

sudo apt-get install libmysql-ruby libmysqlclient-dev 
+1

dzięki. pomaga mi. –

+0

powinny być akceptowane odpowiedź – Dragouf

+0

@Dragouf faktycznie nie powinno, ponieważ problem Ganesh był na mac i to rozwiązanie powinno być tylko dla Linuksa –

30

Miej oko, jeśli używasz RVM, nie instaluj libmysql-ruby ponieważ jest związany z wersją Ubuntu Ruby. Wystarczy umieścić sudo apt-get install libmysqlclient-dev i będzie działać

+1

To działało dla mnie na Ubuntu 12.04 – Joseph

5

W moim przypadku tylko odłączenie dowiązania i ponowne instalowanie mysql w brew pomógł:

brew unlink mysql 
brew cleanup 
brew install mysql 
gem install mysql2 
+0

Rozwiązało to problem na osxie z homebrew jak i na ubuntu z linuxbrajskim – wintondeshong

0
sudo apt-get install libmysqlclient-dev 

lub

yum install mysql-devel 

To działa dla mnie.

Powiązane problemy