「193:「%1 は有効な Win32 アプリケーションではありません」という新しい Rails アプリケーションのバグ
質問
Windows 7 でディレクトリに移動して「rails newapp」と入力して、新しい Rails アプリケーションを作成しました。作成はうまくいき、ルートページにアクセスすると、すべて問題ありません。ただし、データベースにアクセスするページにアクセスしようとすると、次のメッセージが表示されます。
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 / 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 アプリケーションではありません」
(上記の投稿で提案されているように) ファイル 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
(再度パスを変更する必要はありませんでした)
このエラーは、「プログラム」という名前のファイルがある場合に発生します。ドライブのルートに。たとえば、" 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がパスに含まれていることを確認してください。 libmysql.dllの他のコピーがパスまたはrubyインストールディレクトリの他の場所から取得されていないことを確認してください。
これは、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でMySQL(5.5)でRuby(1.8.7)を使用し、エラー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