El error “193:% 1 no es una aplicación Win32 válida” con una nueva aplicación Rails

Tengo una nueva aplicación de Rails que he creado en Windows 7 yendo a un directorio y escribiendo “rails newapp”. La creación fue bien, y cuando accedo a la página raíz, todo está bien. Sin embargo, cuando trato de acceder a una página que accedería a la base de datos, obtengo esto:

193: %1 is not a valid Win32 application. 

En el developer.log. Mysql está funcionando bien en mi máquina, y tengo otras aplicaciones que ejecuto aquí en otros directorios, es solo esta que no funciona. ¿Alguna idea?

Aquí está la respuesta que funcionó para mí. Resulta que era un problema de x64 vs. x32 y Rails 2.3.2.

La respuesta que obtuve de aquí ( http://osdir.com/ml/RubyonRailsTalk/2009-06/msg01775.html ):

En caso de que alguien más tenga el mismo problema después de muchas dificultades en mi máquina con Windows XP x64, con MySQL 5.1.30 (x64) y Rails 2.3.2 instalados, esta sugerencia anterior me ayudó. Descargue libMySql.dll desde aquí ( http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/ ) y ponerlo en ruby ​​\ bin resolvió el problema.

Resuelto siguiendo las instrucciones en este blog aquí: http://blog.mmediasys.com/2011/07/07/installing-mysql-on-windows-7-x64-and-using-ruby-with-it/

que implica el uso de la versión no instalador de MySQL Connector http://dev.mysql.com/downloads/connector/c/

No pude hacer que webrick se ejecutara en el sistema x64 de Windows 7 – recibí el mismo error

“193:% 1 no es una aplicación Win32 válida”

Si acabo de reemplazar el archivo libmysql.dll (como se sugiere en las publicaciones anteriores), recibí un error diferente.

“¡Versión incorrecta de la biblioteca del cliente MySQL!”

Mi ruta de acceso se configuró así: C: \ Ruby187 \ bin; C: \ Archivos de progtwig \ MySQL \ MySQL Server 5.5 \ bin; C: \ Ruby187 \ lib \ ruby ​​\ gems \ 1.8 \ gems \ rails-3.1.1 \ bin

(no fue necesario cambiar el camino de nuevo)

Este error ocurre si tiene un archivo con el nombre “Progtwig” en la raíz de su disco. Supongamos, por ejemplo, que está intentando ejecutar “C: \ Archivos de progtwig \ SomeApp \ Bin \ SomeExe.Exe”, e intenta ejecutar “C: \ Program” si existe. En algunas situaciones, se crea un archivo con este nombre si olvida citar “C: \ Archivos de progtwig …” con algunos comandos de línea de comando. Por supuesto, esto también aplica para usted D: unidad, etc.

Este error a menudo ocurre si intenta iniciar servicios, pero puede ocurrir en otras situaciones.

Simplemente eliminando el archivo C: \ Program o D: \ Program etc. resuelve el problema.

Habiendo encontrado varios problemas al configurar MySQL con Rails en Windows x64, mis recomendaciones son:

  • Instala la versión de 32 bits de MySQL, no intentes usar la versión de 64 bits.
  • Instalar en una ruta sin espacios, no acepte un valor predeterminado como “C: \ Archivos de progtwig \ MySQL \ MySQL Server 5.5 \”
  • Instala la gem MySQL con una invocación similar a:
      gem install mysql - --platform = ruby ​​--with-mysql-dir = "D: \ Progtwigs \ MySQL \ MySQL-Server-5.5" --with-libmysqllib = "D: \ Progtwigs \ MySQL \ MySQL-Servidor- 5.5 \ lib \ " 
  • Asegúrese de desinstalar / reinstalar la gem siempre que instale una nueva versión de MySQL.
  • Asegúrese de que D: \ Programs \ MySQL \ MySQL-Server-5.5 \ lib esté incluido en su ruta, así como D: \ Programs \ MySQL \ MySQL-Server-5.5 \ bin. Asegúrese de que otras copias de libmysql.dll no se recogen en ningún otro lugar de su ruta ni en sus directorios de instalación de ruby.

Esto funcionó para mí con mysql-5.5.15-win32, mysql-2.8.1-x86-mingw32 y Windows 7 x64.

    Copie el archivo libmysql.dll de su directorio de instalación de MySQL y péguelo en el directorio bin de la instalación de Ruby. Es posible que deba descargar un archivo comprimido desde http://dev.mysql.com/downloads/mysql/ si el directorio de instalación de MySQL no incluye el archivo libmysql.dll.

    Usando Ruby (1.8.7) con MySQL (5.5) en Windows 7 y también obteniendo el error 193. Copiando libmySQL.dll a ruby ​​/ bin funcionó bien para mí.

     C: \ Work \ redmine-2.4.1 \ config \ database.yml content:
    
     # La configuración predeterminada se da para MySQL con ruby1.9.  Si está ejecutando Redmine
     # con MySQL y ruby1.8, reemplace el nombre del adaptador con `mysql`.
     # Los ejemplos de PostgreSQL, SQLite3 y SQL Server se pueden encontrar al final.
     # La sangría de línea debe ser de 2 espacios (sin tabs).
    
     producción:
       adaptador: mysql
       base de datos: redmine
       host: localhost
       nombre de usuario: raíz
       contraseña: "pwd @ 123"
       encoding: utf8