& # 8220; 193:% 1 n'est pas une application Win32 valide & # 8221; bug avec une nouvelle application Rails

StackOverflow https://stackoverflow.com/questions/1208029

  •  05-07-2019
  •  | 
  •  

Question

J'ai créé une nouvelle application rails sous Windows 7 en allant dans un répertoire et en tapant "rails newapp". La création s'est bien déroulée et lorsque j'accède à la page racine, tout va bien. Cependant, lorsque j'essaie d'accéder à une page qui accéderait à la base de données, je reçois ceci:

193: %1 is not a valid Win32 application.

Dans le developer.log. Mysql fonctionne bien sur ma machine et j'ai d'autres applications dans d'autres répertoires. C'est simplement celui-ci qui ne fonctionne pas. Des pensées?

Était-ce utile?

La solution

Voici la réponse qui a fonctionné pour moi. Il s’avère que c’est un problème de x64 contre x32 et de Rails 2.3.2.

La réponse que j'ai obtenue ici ( http://osdir.com/ml /RubyonRailsTalk/2009-06/msg01775.html ):

  

Si quelqu'un d'autre a le même   problème après beaucoup de mal à   ma machine Windows XP x64, avec MySQL   5.1.30 (x64) et Rails 2.3.2 installés, cette suggestion ci-dessus   m'a aidé.        Téléchargez libMySql.dll à partir d’ici ( http: //instantrails.rubyforge .org / svn / trunk / InstantRails-win / InstantRails / mysql / bin / )   et le mettre en ruby ??\ bin a résolu le   problème.

Autres conseils

Résolu en suivant les instructions sur ce blog ici: http://blog.mmediasys.com/2011/07/07/installing-mysql-on-windows-7-x64-and-using-ruby-with-it /

qui implique l’utilisation de la version non-installante du connecteur MySQL http: //dev.mysql. com / téléchargements / connecteur / c /

Je ne pouvais pas exécuter webrick sur un système x64 sous Windows 7 - j'ai la même erreur

" 193:% 1 n'est pas une application Win32 valide "

Si je viens de remplacer le fichier libmysql.dll (comme suggéré dans les messages ci-dessus), j'ai une erreur différente.

" Version de bibliothèque client MySQL incorrecte! "

Mon chemin défini comme suit: C: \ Ruby187 \ bin; C: \ Program Files \ MySQL \ Serveur MySQL 5.5 \ bin; C: \ Ruby187 \ lib \ ruby ??\ gems \ 1.8 \ gems \ rails-3.1.1 \ bin

(n'a pas besoin de changer le chemin à nouveau)

Cette erreur se produit si vous avez un fichier portant le nom "Programme". à la racine de votre lecteur. Dites par exemple que vous essayez d'exécuter "C: \ Program Files \ SomeApp \ Bin \ SomeExe.Exe". il essaie d'exécuter "C: \ Program" si cela existe. Dans certaines situations, un fichier portant ce nom est créé si vous oubliez de citer "C: \ Program Files ... " avec quelques commandes en ligne de commande. Ceci s'applique bien sûr également à votre lecteur D:, etc.

Cette erreur se produit souvent si vous essayez de démarrer des services, mais peut se produire dans d'autres situations.

Supprimer simplement le fichier C: \ Program ou D: \ Program etc. résout le problème.

Après avoir rencontré plusieurs problèmes lors de la configuration de MySQL avec Rails sous Windows x64, voici mes recommandations:

      
  • Installez la version 32 bits de MySQL, n'essayez pas d'utiliser la version 64 bits.
  •   
  • Installez-le dans un chemin ne comportant aucun espace, n'acceptez pas de valeur par défaut telle que "C: \ Program Files \ MySQL \ Serveur MySQL 5.5" \ "
  •   
  • Installez le joyau MySQL avec une invocation semblable à:            
         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\"
           
  •   
  • Assurez-vous de désinstaller / réinstaller la gemme chaque fois que vous installez une nouvelle version de MySQL.
  •   
  • Assurez-vous que D: \ Programmes \ MySQL \ MySQL-Server-5.5 \ lib est inclus dans votre chemin, ainsi que D: \ Programmes \ MySQL \ MySQL-Server-5.5 \ bin. Assurez-vous que les autres copies de libmysql.dll ne sont pas récupérées ailleurs sur votre chemin ou dans les répertoires d'installation de ruby.

Cela a fonctionné pour moi avec mysql-5.5.15-win32, mysql-2.8.1-x86-mingw32 et Windows 7 x64.

Copiez le fichier libmysql.dll à partir de votre répertoire d'installation MySQL et collez-le dans le répertoire bin de votre installation Ruby. Vous devrez peut-être télécharger une archive zip à partir de http://dev.mysql.com/downloads/mysql/ si votre répertoire d'installation MySQL n'inclut pas déjà le fichier libmysql.dll.

Utilisation de Ruby (1.8.7) avec MySQL (5.5) sous Windows 7 et obtention de l’erreur 193. Copie du libmySQL.dll vers ruby / bin a bien fonctionné pour moi.

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top