2015-03-31 14 views
6

Przygotowuję jedną aplikację, używając RoR z mysql.I, wykonując poniższe czynności, aby utworzyć aplikację z mysql.Nie można załadować pliku libmysql.dll przy użyciu Ruby on Rails 3

1 barierki nowy Nazwa_projektu -d mysql

2-szyny generowania rusztowania Tytuł wpisu: ciało ciąg: text

Po uruchomieniu 2nd krok mam następujący błąd.

błędu:

Failed to load libmysql.dll from C:\Ruby193\lib\ruby\gems\1.9.1\gems\mysql2-0.3. 
18-x86-mingw32\vendor\libmysql.dll 

że zainstalowany MySQL w systemie i skopiowane plik libmysql.dll MySQL-łącznik-c-noinstall-6.0.2-win32 \ lib \ libmysql.dll C: \ Ruby193 \ bin nadal otrzymuję powyższy błąd. Proszę spróbować pomóc mi rozwiązać ten błąd i jestem również zainteresowany, aby dowiedzieć się, czy mój mysql DB jest obecny w innym wystąpieniu zamiast mojego lokalnego systemu, jak mogę go połączyć za pomocą Railsów .

Używam Rails version-3.2.19 i win-xp w moim systemie.

Odpowiedz

10

Po jakimś „Google Work” i spróbować na Win2k3 Server, wydaje się, jakby przypadku problem „binarnej wersji mysql2”.

W najnowszych wersjach mysql2 zawiera plik libmysql.dll w przeciwieństwie do wcześniejszej kompilacji lokalnie, a wersja libmysql.dll pochodzi z MySQL Connector 6.1.x, która usuwa wsparcie dla WinXp/2k3.

Więc można spróbować w ten sposób mam sukces w mojej instalacji Redmine:

  1. odinstalować mysql2 gem przez gem uninstall mysql2 i usunąć wszystkie mysql2 pakiet
  2. Pobierz "MySQL Connector/C NoInstall" z MySQL która wersja powinna być niższa niż 6.1, w moim przypadku to 6.0.2 (mysql-connector-c-noinstall-6.0.2-win32.zip) i rozpakuj do ścieżki, na przykład "D: \ MySQLConn"
  3. Zainstaluj mysql2 za pomocą tego polecenia: gem install mysql2 --platform=ruby -- '--with-mysql-lib="D:\MySQLConn\lib" --with-mysql-include="D:\MySQLConn\include"'
  4. Uruchom instalację Redmine `Pakiet zainstalować --without testu rozwoju”
  5. Sprawdź mysql2 gem gem list mysql2
  6. Usuń gem, które nie "self-skompilowany" (od kroku 3), podobnie jak nazwa "mysql2-0.3.18-x86-mingw32" i uczynić Na pewno tylko "samodzielnie skompilowana" wersja mysql2, wygląda jak "mysql2-0.3.18"
  7. Zrobione!

Mam nadzieję, że będzie dla Ciebie pomocne.

+0

dzięki Luuray, jestem setup Redmine też. ale w x64. Twoje kroki naprawdę pomagają :) – arced

+0

dla każdego, kto ma problemy z redmine setup w oknach. jeśli natkniesz się na "rake db: migrate". musisz odinstalować "mysql2-0.3.18-x86-mingw32 "wersja z" gem odinstalować mysql2 "następnie wybierz numer 2 (dla mnie). – arced

3

I okazało się, że jest 32-bitowe i 64-bitowe warianty libmysql.dll. Daj im obu szansę. Dla mnie działało 32-bitowe libmysql.dll.