Mysql
 sql >> Baza danych >  >> RDS >> Mysql

'niezdefiniowana metoda init dla Mysql:Class'

Mam Railsy 3.1-rc4, MySQL 5.5.15 (właśnie zaktualizowany) i Mac OS X Lion. Mój problem polegał na tym, że plik mysql_api.bundle był połączony z odpowiednim plikiem libmysqlclient.18.dylib, ale nie mógł znaleźć biblioteki:

otool -L ~/.rvm/gems/ruby-1.9.2-p180/gems/mysql-2.8.1/lib/mysql_api.bundle 
/Users/rowland/.rvm/gems/ruby-1.9.2-p180/gems/mysql-2.8.1/lib/mysql_api.bundle:
    /Users/rowland/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.1.9.1.dylib (compatibility version 1.9.1, current version 1.9.1)
    libmysqlclient.18.dylib (compatibility version 18.0.0, current version 18.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.0.0)
    /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)

W czasie wykonywania nie znaleziono biblioteki. Moją pierwszą próbą naprawienia tego było dodanie polecenia LC_RPATH, ale to nie wystarczyło (być może dlatego, że znajdowało się na końcu listy). Zamiast tego bezpośrednio zmieniłem link do biblioteki za pomocą:

install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib ~/.rvm/gems/ruby-1.9.2-p180\@rails-3.1/gems/mysql-2.8.1/lib/mysql_api.bundle

Teraz otool pokazuje mi:

otool -L ~/.rvm/gems/ruby-1.9.2-p180\@rails-3.1/gems/mysql-2.8.1/lib/mysql_api.bundle 
/Users/rowland/.rvm/gems/[email protected]/gems/mysql-2.8.1/lib/mysql_api.bundle:
    /Users/rowland/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.1.9.1.dylib (compatibility version 1.9.1, current version 1.9.1)
    /usr/local/mysql/lib/libmysqlclient.18.dylib (compatibility version 18.0.0, current version 18.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.0.0)
    /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)

i znów jest szczęśliwa. Działa to jednak tylko w systemie Mac OS X.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Znaki UTF-8 wyświetlane jako ISO-8859-1

  2. Python Connector dla Django 1.9 i Pythona 3.5?

  3. Jak przechowywać zaszyfrowane informacje AES w bazie danych MySQL?

  4. MySQL Wiele zliczeń w jednym zapytaniu z wielkością liter

  5. Jak mogę przechowywać tablicę wartości logicznych w bazie danych MySql?