Невозможно установить MySQL на Mac OS X - PullRequest
5 голосов
/ 06 января 2010

У меня точная проблема, как описано в этом вопросе: Проблемы с установкой MYSQL . К сожалению, ни один из ответов не помог мне (и он закрыт).

Я пытаюсь выучить Ruby on Rails, но MySQL не работает (поэтому это связано с программированием).

Я набрал: rake db:create и получил:

!!!The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
no such file to load -- mysql

(See full trace by running task with --trace)
HD-Auckland:shoutbox max$ gem install mysql
WARNING:  Installing to ~/.gem since /Library/Ruby/Gems/1.8 and
      /usr/bin aren't both writable.
WARNING:  You don't have /Users/max/.gem/ruby/1.8/bin in your PATH,
      gem executables will not run.
Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
    ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
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.

Gem files will remain installed in /Users/max/.gem/ruby/1.8/gems/mysql-2.8.1 for inspection.
Results logged to /Users/max/.gem/ruby/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

Итак, как мне сказали, я попытался sudo 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_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
    --srcdir=.
    --curdir
    --ruby=/opt/local/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 /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

Я также попробовал эту команду sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config и получил ту же ошибку!

Что я могу сделать? Я только хочу перенести мою базу данных на сервер MySQL!

Спасибо за помощь, Mexx

Обновление:

Привет, ребята, спасибо за отличный ответ! Да, я на снежном барсе. Я скачал mysql отсюда http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg и установил его. Затем я последовал руководству Hivelogic по установке mysql.

когда я сейчас наберу: sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config или sudo gem istall mysql или sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql

Я получу:

Building native extensions.  This could take a while...
fotoSuccessfully installed mysql-2.8.1
1 gem installed
Installing ri documentation for mysql-2.8.1...

No definition for next_result

No definition for field_name

No definition for field_table

No definition for field_def

No definition for field_type

No definition for field_length

No definition for field_max_length

No definition for field_flags

No definition for field_decimals

No definition for time_inspect

No definition for time_to_s

No definition for time_get_year

No definition for time_get_month

No definition for time_get_day

No definition for time_get_hour

No definition for time_get_minute

No definition for time_get_second

No definition for time_get_neg

No definition for time_get_second_part

No definition for time_set_year

No definition for time_set_month

No definition for time_set_day

No definition for time_set_hour

No definition for time_set_minute

No definition for time_set_second

No definition for time_set_neg

No definition for time_set_second_part

No definition for time_equal

No definition for error_errno

No definition for error_sqlstate
Installing RDoc documentation for mysql-2.8.1...

No definition for next_result

No definition for field_name

No definition for field_table

No definition for field_def

No definition for field_type

No definition for field_length

No definition for field_max_length

No definition for field_flags

No definition for field_decimals

No definition for time_inspect

No definition for time_to_s

No definition for time_get_year

No definition for time_get_month

No definition for time_get_day

No definition for time_get_hour

No definition for time_get_minute

No definition for time_get_second

No definition for time_get_neg

No definition for time_get_second_part

No definition for time_set_year

No definition for time_set_month

No definition for time_set_day

No definition for time_set_hour

No definition for time_set_minute

No definition for time_set_second

No definition for time_set_neg

No definition for time_set_second_part

No definition for time_equal

No definition for error_errno

No definition for error_sqlstate

И выполнение rake db:create приведет к:

(in /Users/max/rails/shoutbox)
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
no such file to load -- mysql

(See full trace by running task with --trace)

Ответы [ 7 ]

7 голосов
/ 03 сентября 2010

по какой-то причине (возможно, потому что я использую rubygems 1.3.7 или устанавливаю mysql-2.8.1)

sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

у меня не сработало, поэтому после просмотра gems / mysql-2.8.1 / ext / mysql_api / extconf.rb я обнаружил, что extconf.rb ищет в PATH mysql_config, поэтому я попытался

export PATH=$PATH:/usr/local/mysql/bin
sudo gem install mysql

и сделал работу

1 голос
/ 06 января 2010

У меня возникли проблемы с самоцветом MySQL, и это единственные две ссылки, которые я на самом деле добавил в закладки, поэтому одна из них должна была сработать для меня. Мысль, которой я поделюсь.

  1. http://wonko.com/post/how-to-install-the-mysqlruby-gem-on-mac-os-x-leopard
  2. http://rapd.wordpress.com/2007/05/17/battle-against-ror-gem-install-mysql/

Второй вид довольно старый, поэтому не уверен, что он все еще применяется.

1 голос
/ 06 января 2010

Вы на снежном барсе? Вы должны выполнить компиляцию зависимостей C с заголовками x64, попробуйте:

sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
0 голосов
/ 05 мая 2013

У меня была такая же проблема. Я решил установить сначала адаптер:

gem install activerecord-mysql2-adapter

Затем установите mysql2 gem, используя

sudo gem install mysql2 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
0 голосов
/ 24 ноября 2011

Правильный камень для использования mysql2.

0 голосов
/ 19 июня 2011

Я только что столкнулся с этой проблемой, используя эту команду:

 sudo env ARCHFLAGS="-arch i386" gem install --no-rdoc --no-ri mysql -v 2.8.1 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

На самом деле мне нужно было установить mysql gem версии 2.8.1 на мой Mac OS X Leopard 10.5.8 с запущенным mysql-5.6.2-m5-osx10.5-x86 из файла dmg. У меня была проблема, что он не мог найти библиотеки, и я сделал некоторые манипуляции, а затем он не мог установить из-за разрешений. Я узнал эту команду, добавил нужную мне версию и изменил архитектуру на ту, которая соответствует моей установке mysql.

Так что, если somenone все еще хочет установить эту версию :), давайте попробуем! Но мы не так уж много устанавливаем это, и тем более на Leopard!

0 голосов
/ 06 января 2010

Чтобы установить гем MySQL на OS X, вам необходимо установить инструменты разработчика XCode, которые находятся на вашем установочном диске. Вы также можете скачать их с http://developer.apple.com.

...