sql >> Databáze >  >> RDS >> Mysql

'nedefinovaná metoda init pro Mysql:Class'

Mám Rails 3.1-rc4, MySQL 5.5.15 (právě upgradovaný) a Mac OS X Lion. Můj problém se ukázal být tak, že soubor mysql_api.bundle byl propojen se správným souborem libmysqlclient.18.dylib, ale nemohl najít knihovnu:

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)

Za běhu nebyla knihovna nalezena. Můj první pokus to opravit bylo přidáním příkazu LC_RPATH, ale to nestačilo (možná proto, že byl na konci seznamu). Místo toho jsem přímo změnil odkaz na knihovnu 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

Nyní mi otool ukazuje:

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)

a je to zase všechno šťastné. Toto však funguje pouze v systému Mac OS X.



  1. Chyba připojení JDBC:nerozpoznané časové pásmo

  2. Řízení přístupu MYSQL

  3. Struktura návrhu / normalizace databáze musí obsahovat AND, OR, volitelné prvky a jejich vztahy

  4. Nahrání souboru Jquery do databáze v base64