“193:新 Rails 应用程序出现“%1 不是有效的 Win32 应用程序”错误
题
我有一个新的 Rails 应用程序,是在 Windows 7 下通过进入目录并输入“rails newapp”创建的。创建过程很顺利,当我访问根页面时,一切都很好。但是,当我尝试访问将访问数据库的页面时,我得到以下信息:
193: %1 is not a valid Win32 application.
在开发者日志中。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,以上建议 帮助过我。 从此处下载libMySql.dll( http://instantrails.rubyforge .ORG / SVN /主干/ InstantRails的赢/ InstantRails的/ MySQL的/斌/ ) 并把它放在ruby \ bin解决了 问题
其他提示
按照此博客上的说明解决: 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: uby187\bin;C:\Program Files\MySQL\MySQL Server 5.5\bin;C: uby187\lib uby\gems\1.8\gems ails-3.1.1\bin
(不需要再次更改路径)
如果您的文件名称为“Program”,则会出现此错误在您的驱动器的根目录中。比如说你正在尝试执行“C:\ Program Files \ SomeApp \ Bin \ SomeExe.Exe”它试图执行“C:\ Program”如果它存在在某些情况下,如果您忘记引用“C:\ Program Files ...”,则会创建具有此名称的文件。使用一些命令行命令。这当然也适用于你D:驾驶等。
如果您尝试启动服务,则通常会发生此错误,但在其他情况下可能会发生此错误。
只需删除文件C:\ Program或D:\ Program等即可解决问题。
在 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 有效。
从MySQL安装目录中复制文件libmysql.dll并将其粘贴到Ruby安装的bin目录中。您可能需要从 http://dev.mysql.com/downloads/mysql/ <下载zip存档。 / a>如果您的MySQL安装目录尚未包含文件libmysql.dll。
在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