Грунтовые часы - Ошибка Ruby [дубликат]

Используйте сериализацию, а затем десериализацию, но имейте в виду, что этот подход работает только с классами Serializable без переходных полей. Кроме того, ваши синглтоны больше не будут одиночными.

15
задан aronchick 30 July 2009 в 18:17
поделиться

6 ответов

Вот ответ, который сработал для меня. Оказывается, это проблема с проблемой x64 и x32 и Rails 2.3.2.

Ответ, который я получил отсюда ( http://osdir.com/ml/RubyonRailsTalk/2009-06 /msg01775.html):

В случае, если у кого-то еще такая же проблема после многого на моем компьютере с Windows XP x64, с MySQL 5.1.30 (x64) и Rails 2.3.2, это вышеизложенное предложение помогло мне. Скачайте libMySql.dll здесь ( http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/ ) и положив его в ruby ​​\ bin, решила проблему.

26
ответ дан aronchick 25 August 2018 в 15:40
поделиться
  • 1
    Связанное решение, похоже, является взломом. Я не доволен решениями, которые кажутся черной магией. Разве это не могло быть проблемой при использовании 64-битной версии MySQL с Rails (или, может быть, с WEBrick)? Я продолжу экспериментировать, загрузив и установив 32-битную версию MySQL вместо смешивания в DLL из версии пакета InstantRails. – Mark Freedman 25 July 2010 в 03:16
  • 2
    Конечно, это взломать, потому что поддержка MySQL для Windows в лучшем случае является пятнистой. – aronchick 26 July 2010 в 03:36
  • 3
    Великий!! это было почти год! но почему Ruby никогда не исправляет это? У меня все еще проблема ... GRRRR – Sufendy 14 May 2011 в 06:35
  • 4
    Теперь это решение устарело. – rrrhys 13 February 2013 в 05:31
  • 5
    Это, шаги из этого учебника заставили это работать для меня: blog.mmediasys.com/2011/07/07/… – dzezzz 19 January 2014 в 12:54

Решено, следуя указаниям в этом блоге здесь: http://blog.mmediasys.com/2011/07/07/installing-mysql-on-windows-7-x64-and-using-ruby- с-it /

, который включает использование версии без установки MySQL-соединителя http://dev.mysql.com/downloads/connector/c/

Я не мог заставить webrick работать в системе x64 Windows 7 - получил ту же ошибку

«193:% 1 не является допустимым приложением Win32»

Если я только что заменил файл libmysql.dll (как было предложено в сообщениях выше), я получил другую ошибку.

«Некорректная версия клиентской библиотеки MySQL!»

My Path установлен как это : C:\ruby187 \ bin; C: \ Program Files \ MySQL \ MySQL Server 5.5 \ bin; C:\ruby187 \ lib\ruby ​​\ gems \ 1.8 \ gems\rails-3.1.1 \ bin

(не нужно было снова менять путь)

6
ответ дан Geoff 25 August 2018 в 15:40
поделиться

Запустив несколько проблем с настройкой MySQL с помощью Rails в Windows x64, мои рекомендации:

  • Установите 32-разрядную версию MySQL, не пытайтесь использовать 64-разрядную версию.
  • Установите в путь без пробелов, не принимайте значение по умолчанию, например «C: \ Program Files \ MySQL \ MySQL Server 5.5 \ & quot;
  • Установите глагол MySQL с вызовом, подобным:
         gem install mysql -- --platform=ruby --with-mysql-dir="D:\Programs\MySQL\MySQL-Server-5.5" --with-libmysqllib="D:\Programs\MySQL\MySQL-Server-5.5\lib\"
  • Обязательно удалите / переустановить gem всякий раз, когда вы устанавливаете новую версию MySQL.
  • Убедитесь, что в ваш путь включен D: \ Programs \ MySQL \ MySQL-Server-5.5 \ lib, а также D: \ Programs \ MySQL \ MySQL-Server-5.5 \ bin. Убедитесь, что другие копии libmysql.dll не загружаются из другого места на вашем пути или в ваши рубиновые каталоги установки.

Это работало для меня с mysql-5.5.15-win32, mysql-2.8.1-x86-mingw32 и Windows 7 x64.

0
ответ дан Piers C 25 August 2018 в 15:40
поделиться
  • 1
    Umm, нет, это не так, это просто проходит мимо «недействительного Win32 ...», он все еще segfaults на db: create, см. stackoverflow.com/questions/5020152/… Это определенно нарушено, скопировал libMySql.dll из InstantRails, как и все остальные. – Piers C 14 August 2011 в 17:59

Использование Ruby (1.8.7) с MySQL (5.5) в Windows 7, а также получение ошибки 193. Копирование libmySQL.dll в ruby ​​/ bin работало отлично для меня.

C:\Work\redmine-2.4.1\config\database.yml content:

# Default setup is given for MySQL with ruby1.9. If you're running Redmine
# with MySQL and ruby1.8, replace the adapter name with `mysql`.
# Examples for PostgreSQL, SQLite3 and SQL Server can be found at the end.
# Line indentation must be 2 spaces (no tabs).

production:
  adapter: mysql
  database: redmine
  host: localhost
  username: root
  password: "pwd@123"
  encoding: utf8

-2
ответ дан Ricardo Trevisan 25 August 2018 в 15:40
поделиться

Скопируйте файл libmysql.dll из установочного каталога MySQL и вставьте его в каталог bin в каталоге Ruby. Вам может потребоваться загрузить zip-архив из http://dev.mysql.com/downloads/mysql/ , если в каталоге установки MySQL еще нет файла libmysql.dll.

0
ответ дан Steven Bluen 25 August 2018 в 15:40
поделиться

Эта ошибка возникает, если у вас есть файл с именем «Программа» в корневом каталоге вашего диска. Скажем, например, вы пытаетесь выполнить «C: \ Program Files \ SomeApp \ Bin \ SomeExe.Exe», он пытается выполнить «C: \ Program», если он существует. В некоторых ситуациях файл с этим именем создается, если вы забыли указать «C: \ Program Files ...» с некоторыми командами командной строки. Это, конечно же, относится и к вам D: drive и т. Д.

Эта ошибка часто возникает, если вы пытаетесь запустить службы, но могут возникать в других ситуациях.

Просто удалите файл C : \ Program или D: \ Program и т. Д. Решает проблему.

1
ответ дан user243229 25 August 2018 в 15:40
поделиться
  • 1
    Привет --- это не проблема для меня, так как у меня нет такой программы в корне моего диска. – aronchick 4 January 2010 в 19:21
Другие вопросы по тегам:

Похожие вопросы: