क्या रूबी स्क्रिप्ट को विंडोज़ पर .exe में संकलित करना संभव है? मैं हर जगह खोज की है और मैं निम्नलिखित की कोशिश की है (यह RubyScript2EXE की तरह देखा, जूते और क्रेट सभी मृत या परित्यक्त लग रहा था।):एक्सबी में रूबी स्क्रिप्ट संकलित करें?
मैं रूबी उपयोग कर रहा हूँ
-
rubyinstaller.org से RubyInstaller 1.8.7-p358 स्थापित करें: विंडोज 7 परम (। 64 बिट) एक स्वच्छ सिस्टम से मैं यह कर पर 1.8.
- मणि स्थापित watir
- मणि स्थापित ocra
- Git क्लोन Git: //github.com/snaury/exerb-mingw.git
- सीडी exerb-MinGW
- माणिक setup.rb
मैं एक काफी सरल स्क्रिप्ट है कि इस राशि:
require 'rubygems'
require 'watir'
browser = Watir::Browser.new
browser.goto 'http://slashdot.org'
जब मैं Ocra चलाने मैं किसी भी त्रुटि संदेश नहीं मिलता है, और कुछ नहीं होता:
ruby -r exerb/mkexy test.rb
# Window pops up and after I close it it writes out test.exy
C:\Users\jonathan\dev\Citation>exerb test.exy
C:/Ruby187/lib/ruby/site_ruby/1.8/exerb/recipe.rb:146:in `add_file_entry': test.
exy: no such file -- C:/Ruby187/lib/ruby/gems/1.8/gems/win32-api-1.4.8-x86-mingw32/lib/win32/ruby18/win32/api.so (RuntimeError)
from C:/Ruby187/lib/ruby/site_ruby/1.8/exerb/recipe.rb:86:in `create_archive'
from C:/Ruby187/lib/ruby/site_ruby/1.8/exerb/recipe.rb:85:in `each'
from C:/Ruby187/lib/ruby/site_ruby/1.8/exerb/recipe.rb:85:in `create_archive'
from C:/Ruby187/bin/exerb.bat:67:in `main'
from C:/Ruby187/bin/exerb.bat:196
तो यह Win32/api.so नहीं मिल सकता है:
ocra --output test.exe test.rb
=== Loading script to check dependencies
Exerb एक बेहतर समाधान की तरह लगता है के बाद से यह आरबीसी को संकलित करता है, और यह करता है वास्तव में कुछ करना। जब मैं सी में देखो: /Ruby187/lib/ruby/site_ruby/1.8/exerb/recipe.rb यह जवाहरात की तरह लग रहा खोज पथ में नहीं हैं:
DIR: C:/Users/jonathan/dev/Citation
DIR: C:/Ruby187/lib/ruby/site_ruby/1.8
DIR: C:/Ruby187/lib/ruby/site_ruby/1.8/i386-msvcrt
DIR: C:/Ruby187/lib/ruby/site_ruby
DIR: C:/Ruby187/lib/ruby/vendor_ruby/1.8
DIR: C:/Ruby187/lib/ruby/vendor_ruby/1.8/i386-msvcrt
DIR: C:/Ruby187/lib/ruby/vendor_ruby
DIR: C:/Ruby187/lib/ruby/1.8
DIR: C:/Ruby187/lib/ruby/1.8/i386-mingw32
DIR: .
तो चारों ओर से खुदाई के बाद मुझे पता चला कि आप जोड़ सकते हैं इसलिए जैसे exy फ़ाइल में खोज पथ:
path:
- C:/Ruby187/lib/ruby/gems/
- C:/Ruby187/lib/ruby/gems/1.8
- C:/Ruby187/lib/ruby/gems/1.8/gems
इस के बाद यह search_path में इन पथ दिखाएं करता है, लेकिन यह अभी भी मुझे एक ही त्रुटि देता है। स्पष्ट रूप से exy में rubygems पथ शामिल करने के लिए कुछ रास्ता होना चाहिए?
तो, कोई इन दिनों विंडोज़ पर .exe कैसे बनाता है?
मैंने एक्सरब के साथ कुछ प्रगति की, मुझे पता चला कि आप इसे खींचने के लिए -rrubygems विकल्प के साथ mkexy चला सकते हैं। और यह सबसे रूबी परियोजनाओं के लिए बढ़िया काम करता है। मैंने कुछ रूबी स्क्रिप्ट्स के लिए कोशिश की है जो समस्याओं के बिना कई अलग-अलग पुस्तकालयों का उपयोग करते हैं। उदाहरण के लिए:
mkexy -rrubygems test.rb
exerb test.exy
test.exe === WORKS!
दुर्भाग्य से, यह वॉटर के लिए काम नहीं करता है। जब मैं एक .exe watir मैं निम्नलिखित मिल के साथ बनाया गया चलाएँ:
s4t-utils/claims.rb:24:in `user_is_bewildered': Error in the default values: :br
owser के मूल्य 'सफारी', 'फ़ायरफ़ॉक्स', या 'यानी' में से एक, होना चाहिए और '' आर नहीं लगती है ight ।(StandardError)
शायद आप इसे आजमा सकते हैं: http://johnallen.us/?p=278 –
क्या आपने ओक्र्रा द्वारा बनाए गए कंसोल को देखा था? यदि आपने .rbw के बजाय .rb संकलित किया है तो आपको एक देखना चाहिए था। –
मैंने वास्तव में कुछ भी नहीं देखा, कोई खिड़की नहीं, कुछ भी नहीं। हो सकता है कि यह johnallen.us लिंक में उल्लिखित त्रुटि संदेश पॉप अप हो गया और फिर मृत्यु हो गई? मैं कल ocra के साथ और अधिक प्रयोग करेंगे और इस सवाल को अद्यतन करें। –