Подтвердить что ты не робот

Драйвер MySQL для Rails в Windows 7 x64

У меня проблема с подключением к базе данных MySQL на моей недавно установленной машине Windows 7. Я получаю эту ошибку, когда пытаюсь перенести мою базу данных.

!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install 
the mysql gem and try again: gem install mysql.
rake aborted!
193: %1 is not valid Win32 application - C:/Ruby/lib/ruby/gems/1.8/gems/mysql-2.8.1-x86-mswin32/lib/1.8/mysql_api.so

В настоящее время я установил

ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-mswin32]
mysql version 5.0.86  for Win64
gem 1.3.1
mysql-2.8.1-x86-mswin32
4b9b3361

Ответ 1

У моего коллеги была аналогичная проблема при работе с рельсами в Windows 7. Ему пришлось заменить libmySQL.dll(в PATH) с помощью InstantRails.

Ответ 2

Я потратил часы, пытаясь заставить MySQL и Rails хорошо играть в Windows (хотя XP, как 32, так и 64-разрядные версии). Я, наконец, сдался, так как в моей операционной коробке работает Linux (на которой Rails и MySQL играют очень хорошо) и просто использовали SQLite 3 для разработки. Нет головных болей, чтобы заставить его работать, и он работает достаточно быстро для целей развития.

Тем не менее, я слышал о некоторых людях, которым повезло заменить одну из библиотек DLL, предоставленную камнем, с предоставлением официального дистрибутива MySQL. Кроме того, у некоторых людей просто не было этой DLL, которая вызывала проблемы. В конце концов, это не сработало для меня, но, надеюсь, вам повезет больше.

Ответ 3

Для Rails или DataMapper или для разговора с MySQL вам нужен 32-разрядный драйвер в Rails\bin. Драйвер называется libmysql.dll. Даже если у вас 64-разрядный сервер, вам нужен 32-разрядный драйвер.

64-разрядный драйвер не будет работать с ruby ​​/gems/1.8/gems/do_mysql-0.10.2-x86-mingw32/lib/do_mysql/1.8/do_mysql.so: 193:% 1 не является допустимым приложением Win32.

Неправильная 32-разрядная версия сбой с ошибкой выделения памяти или что-то странное (предлагаемое решение для принятия libmysql.dll из другого проекта может не работать с более новыми версиями MySQL).

Ответ 4

Я новичок в этих рельсах. Я просто передал ту же проблему в Vista. после загрузки libmySQL.dll(в PATH) с одним из InstantRails он начинает работать.

[email protected]

Ответ 5

Решение этой проблемы - просто установить 32-разрядную версию mysql.

Ответ 6

Ускорьте переход на март 2012 года. Я решил эту проблему на Windows 7 x64), переименовав свой Ruby\b\bin\libmysql.dll, а затем скопировав libmysql.dll из C:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\lib\выберите Ruby\bin

Появилась более новая версия libmysql.dll в C:\Program Files (x86)\MySQL\MySQL Workbench CE 5.2.37, но самоцвету не понравилась версия без 6.x.

Ответ 7

Может ли это быть связано с Ruby on Rails Win7 x64?? Если да, то какое исправление снова (не мог понять это из первого ответа)?

Ответ 8

Другой способ, который работал у меня, - загрузить 32-битную версию mysql для Windows и просто сохранить libmysql.dll и добавить расположение этой DLL в Windows PATH.

Ответ 9

Добавление libmySQL.dll из InstantRails в каталог в моем пути тоже сработало для меня. Мне очень грустно, что мы должны это делать. Я бы хотел, чтобы сам камень или сам MySql правильно установили эту DLL.

Ответ 10

Я запускаю текущие версии всего на WinXP SP3: Ruby 1.9.2p0, MySQL 5.5, mysql 2.8.1. Эта проблема все еще присутствует, и для ее исправления мне пришлось скопировать Instant Rails libmysql.dll в мой каталог C:\Ruby192\bin. Сначала я скопировал файл libmysql.dll, который пришел с MySQL 5.5, но вызвал ошибку seq!