gem install mysql fail - PullRequest
       2

gem install mysql fail

11 голосов
/ 26 апреля 2011

Я следовал инструкциям на http://geryit.com/blog/2011/01/installing-mysql-with-rails-on-mac-os-x-snow-leopard/, включая установку ruby ​​через macport.

Всякий раз, когда я выполняю gem install mysql , я получаю следующую ошибку

bash-3.2# gem install mysql
Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
    ERROR: Failed to build gem native extension.

        /opt/local/bin/ruby extconf.rb
checking for mysql_ssl_set()... no
checking for rb_str_set_len()... no
checking for rb_thread_start_timer()... no
checking for mysql.h... no
checking for mysql/mysql.h... 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
    --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=/opt/local/bin/ruby
    --with-mysql-config
    --without-mysql-config


Gem files will remain installed in /opt/local/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection.
Results logged to /opt/local/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

Как я могу решить эту проблему? Я установил 32-битный mysql, используя файл пакета (.pkg), а также, я очень новичок в ruby ​​...

Обновление 26.04.11 17:11 EST Установил RVM и обновил ruby ​​до 1.9.2 Также я просмотрел ссылки, размещенные в комментариях. Я сделал locate mysql_config и результаты были

/usr/local/mysql-5.1.56-osx10.6-x86/bin/mysql_config
/usr/local/mysql-5.1.56-osx10.6-x86/man/man1/mysql_config.1

Следовательно, я пытался gem install mysql - -with-mysql-config=/usr/local/mysql-5.1.56-osx10.6-x86/bin/mysql_config но это все равно не работает ... Я получил новую информацию об ошибке, однако ..

/Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to generate an executable file. (RuntimeError)
You have to install development tools first.
    from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:435:in `try_link0'
    from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:440:in `try_link'
    from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:552:in `try_func'
    from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:797:in `block in have_func'
    from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for'
    from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postpone'
    from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone'
    from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:276:in `postpone'
    from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for'
    from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:796:in `have_func'
    from extconf.rb:50:in `<main>'


Gem files will remain installed in /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/bin/th-mysql-config=/usr/local/mysql-5.1.56-osx10.6-x86/bin/mysql_config/gems/mysql-2.8.1 for inspection.

Действительно хочу поблагодарить тех, кто прокомментировал ... и очень признателен, если можно оказать дополнительную помощь ..... пытался установить чертовски mysql в течение 2 дней ...

Ответы [ 8 ]

17 голосов
/ 04 января 2014

Программа mysql_config в настоящее время не установлена.Вы можете установить его, набрав:

$ sudo apt-get install libmysqlclient-dev
$ bundle install

bundle show [mysql2] # To find the location.
11 голосов
/ 27 апреля 2011

Попробуйте это:

gem install mysql -- --with-mysql-config=/usr/local/mysql-5.1.56-osx10.6-x86/bin/mysql_config

(обратите внимание на дополнительные тире)

Если это не сработает, я настоятельно рекомендую перейти с домашней установки, упомянутой выше в MySQL. Вы можете прочитать об установке супа к орехам здесь: Удаление Ruby on Rails в Mac OS X 10.6

9 голосов
/ 26 ноября 2012

У меня была такая же проблема в Cent OS, но она была решена установкой mysql-devel

 yum install mysql mysql-server mysql-devel
5 голосов
/ 29 июня 2013

На основании этого ответа В итоге я отредактировал файл /usr/local/Cellar/mysql/5.6.12/bin/mysql_config, чтобы удалить -Wno-null-conversion -Wno-unused-private-field, на что и жалуется mkmf.log.

Моя настройкаMac OSX с Ruby, установленным с использованием RVM, и MySQL, установленным с помощью homebrew.

4 голосов
/ 27 апреля 2011

Решил проблему, удалив 32-разрядную версию MySQL в моей системе ... и установив 64-разрядную версию 5.1.56.

Надеюсь, что это полезно для тех, у кого такая же проблема, как и у меня ..

3 голосов
/ 18 июля 2014

Если вы используете bundler , вы можете установить параметры сборки для ваших драгоценных камней с помощью bundle config, это сохранит ваши параметры сборки на ~/.bundle/config, так что в следующий раз вам нужно будет собрать свой драгоценный каменьпараметры конфигурации уже будут установлены, например:

bundle config build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config

man-страница конфигурации комплекта

2 голосов
/ 14 ноября 2018

для Mac по состоянию на ноябрь 2018 года

gem install mysql2 -v '0.4.8' -- --with-ldflags=-L/usr/local/opt/mysql@5.7/lib --with-cppflags=-I/usr/local/opt/mysql@5.7/include
2 голосов
/ 27 апреля 2011

Если вы хотите, вы можете попробовать совершенно другой подход, используя homebrew для установки mysql:

https://github.com/mxcl/homebrew

А затем попробуйте установить гем на основе этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...