2011-01-04 25 views
9

Nie ma o wiele więcej niż moje pytanie. gem install mysql nie działa i nie znalazłem nic przez Google.Jak zainstalować adapter MySQL Rails?

Kiedy próbuję gem install mysql2, to właśnie dostaję. Nie wiem, co mam teraz zrobić.

[email protected]:~/projects/mcif-rails$ gem install mysql2 
Building native extensions. This could take a while... 
ERROR: Error installing mysql2: 
     ERROR: Failed to build gem native extension. 

/home/jason/.rvm/rubies/ruby-1.9.2-p136/bin/ruby extconf.rb 
checking for rb_thread_blocking_region()... yes 
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... yes 
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 
     --srcdir=. 
     --curdir 
     --ruby=/home/jason/.rvm/rubies/ruby-1.9.2-p136/bin/ruby 
     --with-mysql-config 
     --without-mysql-config 
     --with-mysql-dir 
     --without-mysql-dir 
     --with-mysql-include 
     --without-mysql-include=${mysql-dir}/include 
     --with-mysql-lib 
     --without-mysql-lib=${mysql-dir}/lib 
     --with-mysqlclientlib 
     --without-mysqlclientlib 
     --with-mlib 
     --without-mlib 
     --with-mysqlclientlib 
     --without-mysqlclientlib 
     --with-zlib 
     --without-zlib 
     --with-mysqlclientlib 
     --without-mysqlclientlib 
     --with-socketlib 
     --without-socketlib 
     --with-mysqlclientlib 
     --without-mysqlclientlib 
     --with-nsllib 
     --without-nsllib 
     --with-mysqlclientlib 
     --without-mysqlclientlib 
     --with-mygcclib 
     --without-mygcclib 
     --with-mysqlclientlib 
     --without-mysqlclientlib 


Gem files will remain installed in /home/jason/.rvm/gems/ruby-1.9.2-p136/gems/mysql2-0.2.6 for inspection. 
Results logged to /home/jason/.rvm/gems/ruby-1.9.2-p136/gems/mysql2-0.2.6/ext/mysql2/gem_make.out 
+0

Jakiego systemu operacyjnego używasz? Wygląda na to, że nie zainstalowałeś MySQL i/lub wymaganych bibliotek programistycznych. –

+0

Jestem na Linuksie. MySQL jest zainstalowany, ale biblioteki dev prawie na pewno nie. Skąd mam wiedzieć, co to jest? –

+0

Zależy, z jakiej dystrybucji korzystasz (np. Ubuntu, Red Hat, SUSE)? –

Odpowiedz

15

Wygląda na to trzeba jeszcze zainstalować biblioteki rozwoju MySQL. Są one wymagane, aby klejnot mógł zostać pomyślnie zbudowany w twoim systemie.

[Edytuj] Wygląda na to, że RoR Wiki nie jest już dostępna. Ale, Ubuntu zaoferowała their own walkthrough co sugeruje:

sudo apt-get install mysql-server mysql-client 
sudo apt-get install libmysql-ruby libmysqlclient-dev 
sudo gem install mysql 

Zobacz http://wiki.rubyonrails.org/database-support/mysql#installation więcej szczegółów.

Przykład: Ubuntu

sudo apt-get install mysql-server mysql-server-5.0 libmysqlclient15off \ 
    libmysqlclient15-dev mysql-client-5.0 mysql-common 

sudo apt-get install libmysql++-dev 

sudo gem install mysql 

+0

Teraz przestarzały (dostaje błąd), ale zobacz moją odpowiedź poniżej. –

+2

na Ubuntu 14.04 'libmysql-ruby' nie potrzebne – itsnikolay

+0

Również na Ubuntu 14.04 nie ma pakietu" mysql " –

3

Jeśli używasz Rails 3, powinieneś użyć gem mysql2. Można go zainstalować z:

gem install mysql2 

Najpierw należy zainstalować MySQL i wszelkie nagłówki programistyczne. Będzie się to różnić w zależności od systemu operacyjnego. Na Ubuntu, można uruchomić:

aptitude install mysql-server 
aptitude install mysql-client 
aptitude install mysql-common 
aptitude install libmysql-ruby 
aptitude install libmysqlclient-dev 

Jeśli tworzysz nowy projekt, należy:

rails new sample --database=mysql 
cd sample 
bundle install 

uzyskać więcej informacji, zapoznaj się z project repository.

+0

Próbowałem tego i zredagowałem moje pytanie, aby pokazać wyniki. –

+0

Zrobiłem kilka aktualizacji, zobacz, czy pomaga instalacja bibliotek. –

1

Zakładam, że pracujesz z Railsami.

W swojej Gemfile:

gem 'mysql2' 

Następnie w terminalu:

bundle 
+2

Craps się, gdy dojdzie do 'mysql2' w taki sam sposób jak podczas próby' gem install mysql2'. Zmieniłem moje pytanie, aby pokazać, co się dzieje. –

+0

masz konfigurację mysql? – apneadiving

10

będę po prostu zostawić to tutaj:

wpadłem na podobny problem, a potem sobie sprawę, że nie mógł zainstalować gem mysql2 bez zainstalowania MySQL na moim komputerze programistycznym (mimo że korzystam tylko z klejnotu mysql2 do połączenia ze zdalnym serwerem MySQL). Uderzenie

:: czoło ::

brew install mysql 

wtedy, moim Gemfile:

gem 'mysql2', '~> 0.3.11' 

następuje szybki

bundle install 

sukces!

+0

Uratowałem mój dzień, człowieku. – Yulia

+0

Proste, ale skuteczne. Wielkie dzięki:) – tonyedwardspz

1

W 2013 Korzystanie z Ubuntu 12.04, to pracował dla mnie:

sudo apt-get install mysql-client libmysqlclient-dev 

bundle install 
Powiązane problemy