質問

Win7 x64 Professional にアップグレードしたばかりで、Rails アプリの開発を再開したいのですが、次のエラーが発生します。

=> Booting Mongrel
=> Rails 2.3.5 application starting on http://127.0.0.1:3344
D:/nu codes/R/ruby-1.8.7-p174-i386-mswin32/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:271:in `require_frameworks': 193: %1 is not a valid Win32 application.   - D:/nu codes/R/ruby-1.8.7-p174-i386-mswin32/lib/ruby/1.8/i386-mswin32/openssl.so (RuntimeError)
from D:/nu codes/R/ruby-1.8.7-p174-i386-mswin32/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:134:in `process'
from D:/nu codes/R/ruby-1.8.7-p174-i386-mswin32/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `send'
from D:/nu codes/R/ruby-1.8.7-p174-i386-mswin32/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `run'
from D:/nu codes/R/Aptana/tempproj/config/environment.rb:9
from D:/nu codes/R/ruby-1.8.7-p174-i386-mswin32/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from D:/nu codes/R/ruby-1.8.7-p174-i386-mswin32/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from D:/nu codes/R/ruby-1.8.7-p174-i386-mswin32/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
from D:/nu codes/R/ruby-1.8.7-p174-i386-mswin32/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:521:in `new_constants_in'
from D:/nu codes/R/ruby-1.8.7-p174-i386-mswin32/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
from D:/nu codes/R/ruby-1.8.7-p174-i386-mswin32/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/commands/server.rb:84
from D:/nu codes/R/ruby-1.8.7-p174-i386-mswin32/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from D:/nu codes/R/ruby-1.8.7-p174-i386-mswin32/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from D:/nu codes/R/Aptana/tempproj/script/server:3
from -e:1:in `load'
from -e:1

Process finished with exit code 1

サーバーを実行しようとしているとき。必要な .dll を Ruby\bin ディレクトリにコピーすることで、OpenSSL と Iconv に関するすべてのエラーを軽減しました。これについては困惑していますが、もしかして私は今 x64 を実行しているのでしょうか?わかりませんが、少なくとも他のスタック トレースでは、原因となった .dll という名前が付けられていました。

宝石リスト:

*** LOCAL GEMS ***
actionmailer (2.3.5)
actionpack (2.3.5)
activerecord (2.3.5)
activeresource (2.3.5)
activesupport (2.3.5)
authlogic (2.1.3)
cgi_multipart_eof_fix (2.5.0)
gem_plugin (0.2.3)
mongrel (1.1.5)
mysql (2.8.1)
rack (1.0.1)
rails (2.3.5)
rake (0.8.7)

MySQL v5.1.41-community も実行しています。MySQL 5.0をインストールしてみます。

  • アップデート :私はプロジェクトで OpenSSL を使用したことがないので、そもそも OpenSSL が必要であることに非常に困惑していると言わざるを得ません。Railsエラーかどうかを確認しようとして、ダミーアプリ(rails bla)を作成しましたが、ランダムエラー(「raise NotImplementedError、「ランダムデバイスがありません」)が「」でポップアップしたため、レールはデフォルトのスケルトンを作成することさえできませんでした。 activesupport/lib/active_support/secure_random.rb" 。それをグーグルで検索し、別のバージョンに置き換えました ギットハブ. 。これでスケルトンが作成されましたが、サーバーを実行しようとすると、Rails のデフォルトのダミーアプリであっても、同じエラーが発生します。もう一度そのファイルにハッキングしてみますが、やはり OpenSSL がそもそもここで何をしていて DLL を必要としているのかわかりません。

困ったときは、助けていただければ幸いです。前もって感謝します !

役に立ちましたか?

解決

結局のところ、これは DLL の問題でした。1.8.6、x32 MySQL、OpenSSL を使用し、記載されているすべての DLL を解凍しました この素晴らしいブログ投稿で そしてまたすべてがスムーズに進むようになりました。そしてはい、結局のところ、私は自分自身の質問に答えました:-) ありがとう!

他のヒント

これは https://github.com/oneclick/rubyinstaller/から私を助けましたウィキ/トラブルシューティング#ウィキ-fraps_violationする

<時間>

調査の後、(FRAPSまたは迂回など)ALTERロードDLLがロードRubyの拡張に影響を与えることができるというツールを持っています。

これはあなたの無効/アンインストールFRAPSをお勧めします。

<時間> 私のためにそれを固定

レールやDataMapperのためにまたは任意のMySQLと話をするあなたがRailsの\ binに32ビットドライバが必要です。ドライバはlibmysql.dllをと呼ばれています。あなたは64ビットサーバーを持っている場合でも、あなたは、32ビットのドライバが必要です。

の64ビットドライバが失敗しますが、ルビーます/宝石/ 1.8 /宝石/ do_mysql-0.10.2-のx86-MINGW32 / libに/ do_mysql / 1.8 / do_mysql.so:193:%1は有効なWin32アプリケーションではありません<。 / P>

間違っている32ビット版は、メモリ割り当てエラーまたは

そのような奇妙な何かをクラッシュします

とLoadError:193:%1は有効なWin32アプリケーションではありません。 私はIRBでmysqlのルビーの宝石をロードしようとしたとき、私はこのMSGを得ました。 問題:libmysql.dllをはのHISTORY.TXTで見つかったのMySQLの同じバージョンでなければなりません              ルビーmysqlの宝石

修正:(1)mysqlの宝石は、readme.txtとHISTORY.TXTを移動して、mysqlのを確認              版。          (2)対応のMySQLバージョンをインストールします。          (3)は、ルビーのbinディレクトリにmysqlのビンディレクトリからlibmysql.dllをファイルをコピーします。          ルビーIRBへの(4)に戻ると、「必要 『にRubyGems』」そして「必要 『のmysql』」を入力します。          (5)セイ「yeaaah」あなたが「真」を参照してください! 注:あなたは本当に適切なを取得するために必要なMySQLバージョンをインストールする必要はありません       libmysql.dllをファイル。私はちょうどそれが簡単にそれをインストールすることが判明しました。あなたは私のようにしている場合、この問題は、私はプログラムを書くことをあきらめる考え悩ましいました。だから、私は、このソリューションは、お客様の信頼を回復したいと考えています。

この場合に役立ちます。

を参照してください: http://www.technipages.com/error-193-1-is-not-a-valid-win32-application.htmlする

/ドライブ:

この資料に記載されているものから、あなたのDの「NU」というフォルダがありますか?はい場合は、名前を変更しようとすると、サーバは罰金を実行しているかどうかを確認します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top