2015-10-14 10 views
8

के साथ रूबी रत्न चलाना मैं विंडोज पर रूबी के साइगविन संस्करण के साथ सिगविन का उपयोग कर रहा हूं।सिग्विन

$ ruby -v 
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-cygwin] 

सफलतापूर्वक (rspec स्थापित मणि) rspec स्थापित करने, मैं बुनियादी init कमांड (rspec --init) चल रहा कोशिश के बाद आरंभ करने के लिए है, लेकिन मैं एक बैश आदेश नहीं मिला संदेश मिलता है। मेरी सी के तहत नहीं "rspec" फ़ाइल क्योंकि वहाँ

$ rspec --init 
-bash: rspec: command not found 

मैं इस अनुमान लगा रहा हूँ क्या हो रहा है: \ cygwin64 \ बिन निर्देशिका (के रूप में वहाँ है "रूबी" "आईआरबी", आदि फ़ाइलें कि cygwin ध्यान देना चाहिए जब कमांड में टाइप किया जाता है)।

मेरी साइविन निर्देशिकाओं के माध्यम से देखकर, मैं "सी: \ cygwin64 \ home \ username \ .gem \ ruby ​​\ gems \ rspec-core-3.3.2 \ exe" के तहत rspec "exe" फ़ाइल देख सकता हूं। मुझे लगता है कि इसका मतलब यह है कि यह इस फ़ाइल को साइगविन के पथ में जोड़ने का मामला है, लेकिन मैं इसका एक अच्छा उदाहरण नहीं ढूंढ पाया। आदर्श रूप से समाधान इस मणि (आरएसपीईसी) और भविष्य के सभी इंस्टॉलेशन को हर समय पथ को "हार्ड-कोड" किए बिना संभाल लेगा।

मेरे "मणि पर्यावरण" को देखते हुए, ऐसा लगता है कि स्थापित रत्न पहले से ही मेरे "जीईएम पथ" के अंतर्गत हैं। ऐसा लगता है कि इस बीच एक डिस्कनेक्ट है और जहां सिगविन दिख रहा है।

What version of ruby use with cygwin?

लेकिन मैं क्या समाधान के समझ में से है, यह .bat है फ़ाइलों के लिए लग रहा है:

$ gem environment 
RubyGems Environment: 
    - RUBYGEMS VERSION: 2.4.7 
    - RUBY VERSION: 2.2.2 (2015-04-13 patchlevel 95) [x86_64-cygwin] 
    - INSTALLATION DIRECTORY: /home/username/.gem/ruby 
    - RUBY EXECUTABLE: /usr/bin/ruby.exe 
    - EXECUTABLE DIRECTORY: /home/username/bin 
    - SPEC CACHE DIRECTORY: /home/username/.gem/specs 
    - SYSTEM CONFIGURATION DIRECTORY: /etc 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-cygwin 
    - GEM PATHS: 
    - /home/username/.gem/ruby 
    - /usr/share/gems 
    - /usr/local/share/gems 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - https://rubygems.org/ 
    - SHELL PATH: 
    - /usr/local/bin 
    - /usr/bin 
    ... 

निकटतम बात मैं अपने खोज में पाया यहाँ एक और StackOverflow सवाल था विस्तार। अपने साइगविन में इसका परीक्षण करने के लिए इसके हिस्सों को चलाने से उपयोगी परिणाम नहीं मिलते हैं।

मणि पर्यावरण में जो कुछ भी देख रहा हूं उसके साथ साइगविन लाइन बनाने पर कोई सुझाव?

उत्तर

10

हालांकि मेरा जवाब थोड़ा देर हो गया है, मुझे लगता है कि यह किसी को भी एक ही समस्या रखने में मदद कर सकता है।

मेरे लिए समस्या यह थी कि सभी रूबी निष्पादन योग्य ~/bin में संग्रहीत किए गए थे, जो कि मेरे साइविन मार्ग में सेट नहीं था। तो मैं अपने ~/.gemrc में सभी गहरे लाल रंग का रत्न और उनके निष्पादनयोग्य का स्थान बदल दिया:

gemhome: /usr/local/rubygems 
gem: --bindir /usr/bin 

जवाहरात पुन: स्थापित करने के बाद, सब कुछ मुझ से आगे ठीक काम किया। यह सभी मणि निष्पादन योग्य सीधे /usr/bin में स्थापित करेगा। जब बहु-उपयोगकर्ता सेटअप की बात आती है तो यह निश्चित रूप से थोड़ा गंदा है।

यदि आपको उचित बहु-उपयोगकर्ता सेटअप की आवश्यकता है, तो बेहतर तरीका PATH को ~./bin isntead पर इंगित करने के लिए समायोजित करना होगा।

इसके अलावा रीडिंग:

6

आप बस अपनी .bashrc के लिए निम्न या इसी तरह के जोड़ सकते हैं:

PATH=$PATH:~/bin 

और में जोड़ने के लिए source ~/.bashrc करना रास्ता तुरंत Ely।

संबंधित मुद्दे