mysql gem не работает на Leopard

#mysql #ruby

#mysql #ruby

Вопрос:

Я продолжаю получать эту ошибку при включении

требуется «mysql»

в моих программах

 /Library/Ruby/Site/1.8/universal-darwin9.0/mysql.bundle: dlopen(/Library/Ruby/Site/1.8/universal-darwin9.0/mysql.bundle, 9): Library not loaded: /usr/local/mysql/lib/libmysqlclient.16.dylib (LoadError)
  Referenced from: /Library/Ruby/Site/1.8/universal-darwin9.0/mysql.bundle
  Reason: image not found - /Library/Ruby/Site/1.8/universal-darwin9.0/mysql.bundle
    from connect.rb:13
  

и я заметил, что этой библиотеки на самом деле там нет… Это то, что я получаю, когда перечисляю каталог

 3536 libmysqlclient.18.dylib*        4 libmysqlclient_r.dylib@
  8660 libmysqlclient.a            53888 libmysqld-debug.a
     4 libmysqlclient.dylib@       50496 libmysqld.a
     4 libmysqlclient_r.18.dylib@      8 libmysqlservices.a
     4 libmysqlclient_r.a@             0 plugin/
  

Я пытаюсь установить его с помощью следующей команды, но это все еще не работает:

 sudo env ARCHFLAGS="-arch i386" gem install mysql -- 
> --with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib 
> --with-mysql-include=/usr/local/mysql/include
Building native extensions.  This could take a while...
Successfully 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
  

Ответ №1:

У меня была точно такая же проблема. Я так и не нашел ответа. После нескольких часов головной боли я наконец установил MacPorts.

  • Он очень прост в использовании

  • Он помещает все в чистую отдельную папку, поэтому вы всегда можете вернуться к версии Apple по умолчанию.

  • Он довольно актуальный (включает ruby 1.9)

Комментарии:

1. Хорошая идея. В итоге я использовал JRuby и драйвер jdbc mysql вместо этого, я искал причину для установки macports..

2. Я установил MacPorts. И что теперь? что я должен делать? Если я попытаюсь установить gem mysql, все равно произойдет то же самое. Спасибо