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

时间:2009-07-30 17:17:12

标签: mysql windows ruby windows-7

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

193: %1 is not a valid Win32 application.

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

6 个答案:

答案 0 :(得分:26)

这是对我有用的答案。事实证明这是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解决了   问题

答案 1 :(得分:6)

按照此博客上的说明解决:http://blog.mmediasys.com/2011/07/07/installing-mysql-on-windows-7-x64-and-using-ruby-with-it/

涉及使用MySQL Connector http://dev.mysql.com/downloads/connector/c/

的非安装程序版本

我无法让webrick在x64 Windows 7系统上运行 - 得到了同样的错误

“193:%1不是有效的Win32应用程序”

如果我刚刚更换了文件libmysql.dll(如上面的帖子中所示),我得到了一个不同的错误。

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

我的路径设置如下: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

(不需要再次更改路径)

答案 2 :(得分:1)

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

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

只需删除文件C:\ Program或D:\ Program等即可解决问题。

答案 3 :(得分:0)

遇到多个问题在Windows x64上使用Rails设置MySQL我的建议是:

      
  • 安装32位版本的MySQL,不要尝试使用64位版本。
  •   
  • 安装到没有空格的路径中,不接受默认值“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 \ lib,以及D:\ Programs \ MySQL \ MySQL-Server-5.5 \ bin。确保没有从路径上的其他位置或ruby安装目录中获取libmysql.dll的其他副本。

这适用于我的mysql-5.5.15-win32,mysql-2.8.1-x86-mingw32和Windows 7 x64。

答案 4 :(得分:0)

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

答案 5 :(得分:-2)

在Windows 7上使用Ruby(1.8.7)和MySQL(5.5)并获得错误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