Tajniki Railsów zgłębiam już od pewnego czasu. Przez cały ten czas korzystałem z SQLite jako bazy danych, nie myśląc nawet o MySQL. Aż do wczoraj, kiedy to postanowiłem zrobić aplikację opartą o Railsy i pochwalić się nią przed całym światem (do chwalenia się jeszcze droga daleka). Niestety już na samym początku pojawił się problem.

Okazuje się bowiem, iż pod Windowsem występują dziwne problemy z instalacją gema mysql2. Zaczęło się od błędu:

ERROR:  Error installing mysql2:
        ERROR: Failed to build gem native extension.

Jak zwykle niezawodny Stackoverflow wskazał rozwiązanie problemu. Wystarczyło wywołać instalację gema z parametrami wskazującymi na odpowiednie katalogi (MySQL instalowałem razem z paczką WAMP).

gem install mysql2 -- '--with-mysql-lib="C:wampbinmysqlmysql5.5.16lib" --with-mysql-include="C:wampbinmysqlmysql5.5.16include"'

Niestety nie rozwiązało to moich problemów, ponieważ jeden komunikat błędu, został zastąpiony innym wzbogaconym o efekty wizualne.

rake aborted!
126: Nie można odnaleźć określonego modułu.   - C:/Ruby193/lib/ruby/gems/1.9.1/gems/mysql2-0.3.10/lib/mysql2/mysql2.so

image

Pamiętny swych przygód z SQLite, szybko znalazłem rozwiązanie. Wystarczyło w katalogu bin instalacji Ruby’ego, dodać symboliczne łącze do brakującego pliku dll.

C:Ruby193bin>mklink libmysql.dll "C:wampbinmysqlmysql5.5.16liblibmysql.dll"
łącze symboliczne utworzone dla libmysql.dll <<===>> C:wampbinmysqlmysql5.5.16liblibmysql.dll

I voilà. MySQL działa aż miło.