"193:% 1 не является допустимым приложением Win32" ошибка с новым Rails-приложением

У меня есть новое приложение rails, которое я создал под Windows 7, перейдя в каталог и набрав "rails newapp". Создание прекратилось, и когда я получаю доступ к корневой странице, все хорошо. Однако, когда я пытаюсь получить доступ к странице, которая будет обращаться к базе данных, я получаю следующее:

193: %1 is not a valid Win32 application.

В developer.log. Mysql работает отлично на моей машине, и у меня есть другие приложения, которые я запускаю здесь, в других каталогах, и это только тот, который не работает. Любые мысли?

Ответы

Ответ 1

Вот ответ, который сработал у меня. Оказывается, это проблема с проблемой 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, это выше предложениеg помог мне.      Скачайте libMySql.dll здесь (http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/) и поставив его в рубин \bin, решил проблема.

Ответ 2

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

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

Ответ 3

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

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

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

Ответ 4

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

  • Установите 32-разрядную версию MySQL, не пытайтесь использовать 64-разрядную версию.
  • Установить в путь без пробелов, не принимать значения по умолчанию, как "C:\Program Files\MySQL\MySQL Server 5.5\"
  • Установите глагол 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\"
      
  • Обязательно удалять/переустанавливать жемчужину всякий раз, когда вы устанавливаете новую версию 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.

Ответ 5

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

Ответ 6

Использование 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: "[email protected]"
  encoding: utf8