Як встановити перлину mysql2 під Ruby 1.9.3? Працює під 2.0.0

У мене виникають проблеми з встановленням перлини mysql2 на моєму комп'ютері.

У мене OS X 10.8 з останнім Xcode, а mySql встановлений через Homebrew. Всі рубіни встановлені, використовуючи новітні RVM.

Я можу встановити mysql2 чудово під 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

Під ruby 1.9.3 і 1.8.7 він не може знайти файл 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

Я також спробував всі різновиди параметрів командного рядка, щоб отримати перлину, щоб знайти встановлення mysql:

наприклад,        gem install mysql2 - with-mysql-config =/usr/local/opt/mysql/bin/mysql_config

5
У мене така сама проблема, і я не зміг зрозуміти це
додано Автор vanhowen, джерело
Я маю ту саму проблему. Я на новій машині (10.8). ruby 2.0 працює без проблем, і 1.9.2 і 1.9.3 скаржаться на відсутність mysql.h.
додано Автор fflyer05, джерело
Я маю ту саму проблему. Я на новій машині (10.8). ruby 2.0 працює без проблем, і 1.9.2 і 1.9.3 скаржаться на відсутність mysql.h.
додано Автор fflyer05, джерело
Що ти версія MySQL? Я отримав таку ж проблему, використовуючи 5.6.12. Видалити його та встановити 5.6.10 вирішив проблему.
додано Автор Fuad Saud, джерело
Що ти версія MySQL? Я отримав таку ж проблему, використовуючи 5.6.12. Видалити його та встановити 5.6.10 вирішив проблему.
додано Автор Fuad Saud, джерело

8 Відповіді

I found this answer and it solved my issues: Error installing mysql2: Failed to build gem native extension

Цитувати:

На Ubuntu/Debian та інших дистрибутивах, що використовують aptitude:

sudo apt-get install libmysql-ruby libmysqlclient-dev

На Red Hat/CentOS та інших дистрибутивах, що використовують yum:

sudo yum install mysql-devel

На Mac OS X з Homebrew:

brew install mysql

Я на debian і після виконання вищезазначеної команди я запустив:

gem install mysql2

і він працював нп.

3
додано

Я вирішу проблему, встановивши перлину з сервером mysql!

brew install mysql

mysql.server start

bundle install

Під рубіном-1.9.3-р125.

Сподіваюся, це допоможе

1
додано
Це також працювало для мене @ ruby 2.1.2
додано Автор Tim Baas, джерело

Я вирішу проблему, встановивши перлину з сервером mysql!

brew install mysql

mysql.server start

bundle install

Під рубіном-1.9.3-р125.

Сподіваюся, це допоможе

1
додано
Це також працювало для мене @ ruby 2.1.2
додано Автор Tim Baas, джерело

Спробуйте встановити MySQL , використовуючи Homebrew та перлину mysql2 , використовуючи Bundler.

brew update
brew install mysql

Add the following to your Gemfile

gem "mysql2"

Виконати:

bundle install
0
додано
Добре, спробуйте слідкувати за цим хлопцем відповіддю stackoverflow. ru/questions/11693360/& hellip; сподіваюся, що це допоможе вирішити вашу проблему хлопцям :(
додано Автор Pierre-Louis Gottfrois, джерело
Я зробив це, і все одно отримає ту саму помилку, яку @aselder бачить
додано Автор vanhowen, джерело
Це, здається, не працює для мене. Отримання такої ж помилки.
додано Автор fflyer05, джерело

Спробуйте встановити MySQL , використовуючи Homebrew та перлину mysql2 , використовуючи Bundler.

brew update
brew install mysql

Add the following to your Gemfile

gem "mysql2"

Виконати:

bundle install
0
додано
Добре, спробуйте слідкувати за цим хлопцем відповіддю stackoverflow. ru/questions/11693360/& hellip; сподіваюся, що це допоможе вирішити вашу проблему хлопцям :(
додано Автор Pierre-Louis Gottfrois, джерело
Я зробив це, і все одно отримає ту саму помилку, яку @aselder бачить
додано Автор vanhowen, джерело
Це, здається, не працює для мене. Отримання такої ж помилки.
додано Автор fflyer05, джерело

У мене було дуже дурне рішення: я відкрив Xcode і прийняв ліцензійну угоду. Оновлення завантажено нову версію, і я не зміг нічого скомпілювати, доки нова угода не була прийнята вручну.

0
додано

Я вирішив цю проблему, знизивши MySQL з 5,6 на 5,5 через доморощеного. Неможливо надати більш детальне пояснення, але це виправлено.

0
додано
У мене є однакова проблема, і я використовую 5.5.31
додано Автор kyle, джерело
Я спробую це. Дякую.
додано Автор Fuad Saud, джерело

Я вирішив цю проблему, знизивши MySQL з 5,6 на 5,5 через доморощеного. Неможливо надати більш детальне пояснення, але це виправлено.

0
додано
У мене є однакова проблема, і я використовую 5.5.31
додано Автор kyle, джерело
Я спробую це. Дякую.
додано Автор Fuad Saud, джерело