“193:%1不是有效的Win32应用程序”与新的Rails应用程序的错误

我有一个新的rails应用程序,我已经在Windows 7下创build了一个目录,并input“rails newapp”。 创造得很好,当我访问根页面时,一切都很好。 但是,当我尝试访问将访问数据库的页面时,我得到这个:

193: %1 is not a valid Win32 application. 

在developer.log中。 Mysql在我的机器上运行正常,我有其他的应用程序,我在这里运行在其他目录中,只是这个不起作用。 有什么想法吗?

这是为我工作的答案。 原来这是一个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安装,上述build议帮助我。 从这里下载libMySql.dll( http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/ )并把它放在ruby \ bin中解决了这个问题。

通过遵循这里博客的方向解决: 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应用程序”

如果我只是replace文件libmysql.dll(如上面的post中所build议的),我得到了一个不同的错误。

“不正确的MySQL客户端库版本!”

我的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

(不需要再次改变path)

如果在驱动器的根目录中有名为“Program”的文件,则会发生此错误。 例如说你正试图执行“C:\ Program Files \ SomeApp \ Bin \ SomeExe.Exe”,它会尝试执行“C:\ Program”(如果存在)。 在某些情况下,如果忘记用某些命令行命令引用“C:\ Program Files …”,则会创build具有该名称的文件。 这当然也适用于你D:驱动器等

如果尝试启动服务,则通常会出现此错误,但在其他情况下可能会发生此错误。

只需删除文件C:\ Program或D:\ Program等解决了这个问题。

遇到多个问题在Windows x64上设置MySQL与Rails我的build议是:

  • 安装32位版本的MySQL,不要试图使用64位版本。
  • 安装到一个没有空格的path中,不要接受默认的“C:\ Program Files \ MySQL \ MySQL Server 5.5 \”
  • 安装MySQL gem的调用类似于:
      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时,一定要卸载/重新安装gem。
  • 确保D:\ Programs \ MySQL \ MySQL-Server-5.5 \ bin包含在您的path以及D:\ Programs \ MySQL \ MySQL-Server-5.5 \ bin中。 确保libmysql.dll的其他副本不会从path的其他位置或ruby安装目录中find。

这对我来说与MySQL-5.5.15-win32,mysql-2.8.1-x86-mingw32和Windows 7 x64。

    从您的MySQL安装目录中复制libmysql.dll文件并将其粘贴到您的Ruby安装的bin目录中。 如果您的MySQL安装目录尚未包含文件libmysql.dll,则可能需要从http://dev.mysql.com/downloads/mysql/下载zip压缩文件。;

    在Windows 7上使用Ruby(1.8.7)和MySQL(5.5),也得到错误193. 将libmySQL.dll复制到ruby / bin对我来说工作得很好。

     C:\ Work \ redmine-2.4.1 \ config \ database.yml内容:
    
     #用ruby1.9给MySQL默认设置。 如果你正在运行Redmine
     #用MySQL和ruby1.8,用`mysql`replace适配器名称。
     #PostgreSQL,SQLite3和SQL Server的例子可以在最后find。
     #缩进线必须是2个空格(无标签)。
    
    生产:
      适配器:mysql
      数据库:redmine
      主机:localhost
      用户名:root
      密码:“pwd @ 123”
      编码:utf8