سؤال

لقد قمت للتو بالترقية إلى 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

أثناء محاولة تشغيل الخادم. لقد قمت بتخفيف جميع الأخطاء المتعلقة بـ OpenSSL و ICONV عن طريق نسخ .DLL S إلى دليل Ruby Bin الخاص بي. أنا متعثر حول هذا واحد ، هل يمكن أن أقوم بتشغيل 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 في المشروع ، لذلك يجب أن أقول إنني محير تمامًا لأنه مطلوب في المقام الأول. في محاولة لمعرفة ما إذا كان خطأ في القضبان ، قمت بإنشاء تطبيق وهمية (Rails BLA) ولن يقوم القضبان حتى بإنشاء الهيكل العظمي الافتراضي لأن بعض الأخطاء العشوائية ("رفع notimplementederror ،" لا يوجد جهاز عشوائي ") ظهرت في" Activesupport/lib/active_support/secure_random.rb ". لقد غوغل ذلك واستبدلته بإصدار آخر من جيثب. أنشأ ذلك الهيكل العظمي ، لكن أحاول تشغيل الخادم أحصل على نفس الخطأ ، حتى لو كان تطبيق Rails الافتراضي Dummy. سأحاول اختراق هذا الملف مرة أخرى ، مرة أخرى ، لا توجد فكرة عما يفعله OpensSL هنا في المقام الأول ويتطلب DLLs.

في خسارة ، سيكون موضع تقدير أي مساعدة. شكرا لك مقدما !

هل كانت مفيدة؟

المحلول

لقد كانت مشكلة DLL بعد كل شيء ، ذهب 1.8.6 ، x32 mysql و openssl ، تفريغ كل DLL المذكورة في هذا المدونة الممتازة وكل ذلك يعمل بسلاسة مرة أخرى ، يا إلهي! ونعم ، لقد أجبت على سؤالي الخاص بعد كل شيء :-) شكرا لك!

نصائح أخرى

هذا ساعدني من https://github.com/oneclick/rubyinstaller/wiki/troubleshooting#wiki-fraps_violation


بعد التحقيق ، يمكن أن يؤثر وجود أدوات تقوم بتغيير تحميل DLL (مثل FRAPS أو Detours) على امتدادات Ruby.

يوصى بتعطيل/إلغاء التثبيت.


التي أصلحت لي.

بالنسبة للقضبان أو datamapper أو أي شيء للتحدث إلى MySQL ، تحتاج إلى سائق 32 بت في Rails Bin. يسمى السائق libmysql.dll. حتى إذا كان لديك خادم 64 بت ، فستحتاج إلى برنامج تشغيل 32 بت.

سيفشل برنامج تشغيل 64 بت من Ruby/GEMS/1.8/GEMS/DO_MYSQL-0.10.2-X86-MINGW32/LIB/DO_MYSQL/1.8/DO_MYSQL.SO: 193: ٪ 1 ليس تطبيق WIN32 صالح.

سيتم تعطل إصدار خاطئ 32 بت مع خطأ في تخصيص الذاكرة أو شيء غريب من هذا القبيل

loaderror: 193: ٪ 1 ليس تطبيق Win32 صالح. حصلت على هذا MSG عندما حاولت تحميل MySQL Ruby Gem في IRB. المشكلة: يجب أن يكون libmysql.dll هو نفس الإصدار من MySQL الموجود في History.txt of the Ruby Mysql Gem

الإصلاح: (1) انتقل إلى readMe.txt و History.txt لـ MySQL GEM وتحقق من إصدار MySQL. (2) تثبيت إصدار MySQL المقابل. (3) انسخ ملف libmysql.dll من mysql bin dir إلى Ruby Bin Dir. (4) العودة إلى Ruby IRB وأدخل "تتطلب" Rubygems "ثم" تتطلب "mysql" (5) قل "yeaah" عندما ترى "True"! ملاحظة: قد لا تحتاج حقًا إلى تثبيت إصدار MySQL المطلوب للحصول على ملف libmysql.dll المناسب. لقد وجدت أنه من الأسهل تثبيته فقط. إذا كنت مثلي ، فإن هذه المشكلة كانت محيرة للغاية فكرت في التخلي عن كتابة البرنامج. لذلك ، آمل أن يعيد هذا الحل ثقتك.

معرفة ما إذا كان هذا يساعد: http://www.technipages.com/error-193-1-is-not-a-valid-win32-application.html

من ما هو مذكور في هذه المقالة ، هل لديك مجلد يسمى "NU" في D:/ محرك الأقراص؟ إذا كانت الإجابة بنعم ، فحاول إعادة تسميتها وتحقق مما إذا كان الخادم يعمل بشكل جيد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top