2012-09-03 14 views
6

मुझे विंडोज 7 64-बिट पर सिग्विन का उपयोग करके रूबी के साथ काम करने में जैकिल मिल रही थी। मैं rubyinstaller + devkit का उपयोग कर बेहतर परिणाम था। अगर मैं साइगविन के अंदर रूबीइंस्टॉलर रूबी का उपयोग कर सकता तो यह वास्तव में अच्छा होगा।क्या rubyinstaller cygwin के साथ अच्छा खेलने का कोई तरीका है?

हालांकि, जब मैं रेक को निष्पादित करने का प्रयास करता हूं तो मुझे निम्न संदेश मिलता है।

 
$ rake page name="pages/about.md" 
C:\Ruby193\bin\ruby.exe: No such file or directory -- /cygdrive/c/Ruby193/bin/rake (LoadError) 

क्या rubyinstaller cygwin के साथ अच्छा खेलने का कोई तरीका है?

+0

संभव डुप्लिकेट [रूबीजम्स + सिगविन: POSIX पथ ruby.exe द्वारा नहीं मिला] (http://stackoverflow.com/questions/3831131/rubygems-cygwin-posix-path-not-found-by-ruby-exe) –

उत्तर

5

समस्या यह है कि साइगविन सभी स्क्रिप्ट पथ को साइगविन पथ (/cygdrive/...) में परिवर्तित कर रहा है।

इसके लिए कोई समाधान नहीं है क्योंकि स्क्रिप्ट का आह्वान rake स्क्रिप से मूलभूत रूबी को आमंत्रित करता है।

अन्य मुद्दों कि cygwin का कारण होगा की एक बहुत कुछ कर रहे हैं, और कुछ में RubyInstaller troubleshooting page

एक वैकल्पिक कवर कर रहे हैं सीधे rake.bat लागू किया जाएगा, cygwin कुटिया का पता लगाने लंघन।

लेकिन साइगविन बैच फ़ाइलों को पसंद नहीं करता है, जो आपको cmd.exe /C rake.bat करने के लिए मजबूर करता है और यह एक शोर कमांड लाइन है।

अन्य विकल्प gem-exefy (gem install gem-exefy) जैसे कुछ स्थापित करें और अपने स्थापित रत्न (rake.exe) के लिए निष्पादन योग्य उत्पन्न करें।

इस तरह से आप साइगविन को समझने के बजाय rake.exe का आह्वान करते हैं।

एक और विकल्प साइगविन के बजाय एमएसवाईएस बैश (देवकिट में शामिल) का उपयोग करता है, जो साइगविन एक से बेहतर तरीके से खेलता है, लेकिन आपको अभी भी बैच फ़ाइलों के साथ समस्याएं होंगी।

जैसा कि आप देख सकते हैं, देशी (रूबी इंस्टालर) के साथ गैर देशी (सिगविन) मिश्रण करने से बहुत सारे दुष्प्रभाव होते हैं।

+0

धन्यवाद! मैं मणि-exefy मार्ग चला गया। .exe एक्सटेंशन को शामिल करने के लिए एक मामूली असुविधा लेकिन अब कम से कम मुझे cmd.exe और cygwin दोनों का उपयोग करने की आवश्यकता नहीं है :) –

38

मैं बस अपना .bash_profile में इनमें से कुछ डाल:

alias gem=gem.bat 
alias irb=irb.bat 
alias rake=rake.bat 

मैं समस्याओं के किसी भी है कि लुइस का उल्लेख है की आवश्यकता नहीं है।

+0

दिलचस्प, साइगविन 1.7? मुझे साइगविन बैच फ़ाइलों को पढ़ने की कोशिश कर रहा था और उन्हें सही तरीके से व्याख्या करने में विफल रहा था। आपके लिए बैच फाइलों को सुनकर खुशी हुई :) –

+0

हां, चाल यह सुनिश्चित करने के लिए हो सकती है कि वे आपके पैथ में हैं और जब आप उन्हें चलाते हैं तो पूर्ण पथ का उपयोग न करें – pguardiario

+2

धन्यवाद, यह पूरी तरह से काम करता है। –