2013-06-25 19 views
5

Mam problem z zainstalowaniem gem mysql2 na moim komputerze.Jak zainstalować klejnot mysql2 w Ruby 1.9.3? Działa pod 2.0.0

Mam system operacyjny OS X 10.8 z najnowszym Xcode i mySql zainstalowany przez Homebrew. Wszystkie rubiny zainstalowane przy użyciu najnowszej wersji RVM.

mogę zainstalować mysql2 grzywny pod ruby ​​2.0.0-p195

[~]$ rvm use 2.0.0                [ruby-1.9.3-p429] 
Using /Users/aselder/.rvm/gems/ruby-2.0.0-p195 
[~]$ gem in mysql2                [ruby-2.0.0-p195] 
Fetching: mysql2-0.3.11.gem (100%) 
Building native extensions. This could take a while... 
Successfully installed mysql2-0.3.11 
1 gem installed 

Pod Ruby 1.9.3 i 1.8.7, nie może znaleźć pliku mysql.h

[~]$ rvm use 1.9.3                [ruby-1.9.3-p429] 
    Using /Users/aselder/.rvm/gems/ruby-1.9.3-p429 
    [~]$ gem in mysql2                [ruby-1.9.3-p429] 
    Fetching: mysql2-0.3.11.gem (100%) 
    Building native extensions. This could take a while... 
    ERROR: Error installing mysql2: 
     ERROR: Failed to build gem native extension. 

      /Users/aselder/.rvm/rubies/ruby-1.9.3-p429/bin/ruby extconf.rb 
    checking for rb_thread_blocking_region()... yes 
    checking for rb_wait_for_single_fd()... yes 
    checking for mysql.h... no 
    checking for mysql/mysql.h... no 
    ----- 
    mysql.h is missing. please check your installation of mysql and try again. 
    ----- 
    *** 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 
     --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=/Users/aselder/.rvm/rubies/ruby-1.9.3-p429/bin/ruby 
     --with-mysql-config 
     --without-mysql-config 


    Gem files will remain installed in /Users/aselder/.rvm/gems/ruby-1.9.3-p429/gems/mysql2-0.3.11 for inspection. 
    Results logged to /Users/aselder/.rvm/gems/ruby-1.9.3-p429/gems/mysql2-0.3.11/ext/mysql2/gem_make.out 

Próbowałem również wszystkich odmian opcji wiersza poleceń, aby znaleźć klejnot, aby znaleźć instalację mysql:

np. gem install mysql2 - --with-mysql-config =/usr/local/opt/mysql/bin/mysql_config

+1

Mam dokładnie ten sam problem i nie byłem w stanie go rozgryźć. – vanhowen

+0

Mam dokładnie ten sam problem. Jestem na zupełnie nowej maszynie (10.8). Ruby 2.0 działa bez problemu, a 1.9.2 i 1.9.3 narzeka, że ​​brakuje mysql.h. – fflyer05

+0

Jaka jest Twoja wersja MySQL? Mam ten sam problem za pomocą 5.6.12. Odinstalowanie i zainstalowanie 5.6.10 rozwiązało problem. –

Odpowiedz

0

próby zainstalowania mysql za pomocą Homebrew i gem mysql2 korzystając Bundler.

brew update 
brew install mysql 

Dodaj następujące do Gemfile

gem "mysql2" 

Run:

bundle install 
+1

Zrobiłem to i nadal otrzymuję ten sam błąd, który widzi @aselder – vanhowen

+0

To nie działa dla mnie. Otrzymuję ten sam błąd. – fflyer05

+0

OK, postaraj się podążać za odpowiedzią tego faceta http://stackoverflow.com/questions/11693360/mysql2-gem-cant-build-native-rozmiar nadzieja, że ​​to rozwiąże twój problem :( –

0

I rozwiązany przez obniżenie mysql od 5,6 do 5,5 przez homebrew. Nie można podać bardziej szczegółowego wyjaśnienia, ale go naprawił.

+0

Spróbuję tego. –

+0

Jestem currenlty o tym samym problemie i używam 5.5.31 – kyle

3

znalazłem tej odpowiedzi i go rozwiązać moje problemy: Error installing mysql2: Failed to build gem native extension

Cytując:

na Ubuntu/Debiana i innych dystrybucji przy użyciu umiejętności:

sudo apt-get install libmysql-ruby libmysqlclient-dev 

Red Hat/CentOS i inne dystrybucje z użyciem yum:

sudo yum install mysql-devel 

W systemie Mac OS X z Homebrew:

brew install mysql 

jestem na Debianie i po uruchomieniu powyższego polecenia, wpadłem:

gem install mysql2 

i to działało NP.

1

Rozwiązuję problem instalowania klejnotu z uruchomionym serwerem mysql!

brew install mysql 

mysql.server start 

bundle install 

Pod rubinem-1.9.3-p125.

Nadzieja to pomaga

+0

To również działało dla mnie @ Ruby 2.1.2 –

0

miałem bardzo głupie rozwiązanie to: Otworzyłem Xcode i zaakceptował warunki umowy licencyjnej. Aktualizacja pobrała nową wersję i nie mogłem niczego skompilować, dopóki nowa umowa nie została ręcznie zaakceptowana.

Powiązane problemy