Frage

Ich habe gerade ein Upgrade auf Win7 x64 Professional durchgeführt und wollte mit der Entwicklung meiner Rails-Apps fortfahren, erhalte jedoch die folgende Fehlermeldung:

=> 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

beim Versuch, den Server auszuführen.Ich habe alle Fehler bezüglich OpenSSL und Iconv behoben, indem ich die erforderlichen DLL-Dateien in mein Ruby\bin-Verzeichnis kopiert habe.Ich bin darüber ratlos. Könnte es sein, dass ich jetzt x64 verwende?Ich habe keine Ahnung, zumindest die anderen Stack-Traces namens .dll, die es verursacht haben.

Auflistung der Edelsteine:

*** 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)

Ich verwende auch MySQL v5.1.41-Community.Ich werde versuchen, MySQL 5.0 zu installieren.

  • Aktualisieren :Ich muss sagen, dass ich OpenSSL im Projekt nie verwende, daher muss ich sagen, dass ich ziemlich verblüfft bin, dass es überhaupt erforderlich ist.Ich habe versucht herauszufinden, ob es sich um einen Rails-Fehler handelte. Ich habe eine Dummy-App erstellt (Rails bla) und Rails hat nicht einmal das Standardgerüst erstellt, da ein zufälliger Fehler („raise NotImplementedError, „No random device“) bei „aufgetaucht ist“ activesupport/lib/active_support/secure_random.rb" .Ich habe das gegoogelt und durch eine andere Version von ersetzt Github.Dadurch wurde das Grundgerüst erstellt, aber beim Versuch, den Server auszuführen, erhalte ich die gleiche Fehlermeldung, auch wenn es sich um die Standard-Dummy-App von Rails handelt.Ich werde noch einmal versuchen, mich in diese Datei zu hacken, auch hier habe ich keine Ahnung, was OpenSSL hier überhaupt macht und DLLs benötigt.

Ratlos wäre ich für jede Hilfe dankbar.Dank im Voraus !

War es hilfreich?

Lösung

Es war schließlich ein DLL-Problem, ging 1.8.6, x32 MySQL und OpenSSL, entpackte jede erwähnte DLL in diesem hervorragenden Blogbeitrag Und es läuft alles wieder reibungslos, meine Güte!Und ja, ich habe meine Frage schließlich selbst beantwortet :-) Danke!

Andere Tipps

Das hat mir weitergeholfen https://github.com/oneclick/rubyinstaller/wiki/Troubleshooting#wiki-fraps_violation


Nach einer Untersuchung kann der Einsatz von Tools, die das Laden von DLLs verändern (wie FRAPS oder Detours), Auswirkungen auf das Laden der Ruby-Erweiterungen haben.

Es wird empfohlen, FRAPS zu deaktivieren/deinstallieren.


Das hat es für mich behoben.

Damit Rails oder DataMapper oder was auch immer mit MySQL kommunizieren kann, benötigen Sie einen 32-Bit-Treiber in Rails\bin.Der Treiber heißt libmysql.dll.Auch wenn Sie einen 64-Bit-Server haben, benötigen Sie einen 32-Bit-Treiber.

64-Bit-Treiber schlägt fehl ruby/gems/1.8/gems/do_mysql-0.10.2-x86-mingw32/lib/do_mysql/1.8/do_mysql.so:193:%1 ist keine gültige Win32-Anwendung.

Eine falsche 32-Bit-Version stürzt mit einem Speicherzuordnungsfehler oder etwas Seltsamem ab

LoadError:193:%1 ist keine gültige Win32-Anwendung.Ich habe diese Nachricht erhalten, als ich versuchte, MySQL Ruby Gem in IRB zu laden.Das Problem:Die libmysql.dll muss dieselbe Version von MySQL sein, die in der Geschichte gefunden wurde.

Die Reparatur:(1) Gehen Sie den Readme.txt und history.txt für das MySQL -Gem und überprüfen Sie die MySQL -Version.(2) Installieren Sie die entsprechende MySQL-Version.(3) Kopieren Sie die Datei libmysql.dll aus dem MySQL-Bin-Verzeichnis in das Ruby-Bin-Verzeichnis.(4) Kehren Sie zu Ruby IRB zurück und geben Sie "Rubygems" "ein, dann" erfordern "mySQL" (5) Sagen Sie "yeaaah", wenn Sie "wahr" sehen!Notiz:Möglicherweise müssen Sie die benötigte MySQL -Version nicht wirklich installieren, um die richtige libmysql.dll -Datei zu erhalten.Ich fand es einfach einfacher, es einfach zu installieren.Wenn Sie wie ich sind, war dieses Problem so ärgerlich, dass ich daran dachte, das Schreiben des Programms aufzugeben.Ich hoffe also, dass diese Lösung Ihr Vertrauen wiederherstellt.

Sehen Sie, ob das hilft: http://www.technipages.com/error-193-1-is-not-a-valid-win32-application.html

Haben Sie, wie in diesem Artikel erwähnt, einen Ordner namens „nu“ auf Ihrem Laufwerk D:/?Wenn ja, versuchen Sie es umzubenennen und prüfen Sie, ob der Server einwandfrei läuft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top