2016-02-03 3 views
6

मैं अपने प्रोजेक्ट में ओवरकमिट मणि (https://github.com/brigade/overcommit) का उपयोग कर रहा है, जब मैं OSX के लिए Github डेस्कटॉप का उपयोग मैं इन त्रुटियों को मिलता है:समय त्रुटि ओवरकमिट का उपयोग करने और Github डेस्कटॉप

यह भंडार overcommit द्वारा स्थापित हुक शामिल है, लेकिन overcommit मणि स्थापित नहीं है। इसे gem install overcommit के साथ स्थापित करें। (1)

मणि स्थापित है, यह टर्मिनल में काम करता है। मुझे लगता है कि ऐसा इसलिए है क्योंकि मैं आरवीएम का उपयोग करता हूं और गीथब डेस्कटॉप आरवीएम के बारे में नहीं जानता है। कोई भी जानता है कि इसे कैसे ठीक किया जाए?

उत्तर

5

ठीक है अंत में यह काम करने के लिए मिल गया है! @rewritten से

चरण 1 टिप्पणी के साथ @michelegera से जवाब संयुक्त:

sudo su - 
gem install bundler 
gem install overcommit 
gem install rubocop 

चरण 2: मदद के लिए .overcommit.yml

को command: ['bundle', 'exec', 'rubocop'] जोड़ा

धन्यवाद!

+1

गिट टॉवर के साथ समान स्थिति स्थापित करें। उपर्युक्त मेरे लिए तब तक काम नहीं करता जब तक कि मैंने अपने सीएलआई उपकरणों का उपयोग करके टर्मिनल से टॉवर लॉन्च नहीं किया। मुझे लगता है कि डेस्कटॉप के लिए गिटहब वही होगा। https: //www.git-tower।com/help/mac/faq-and-tips/faq/hook-scripts – Craig

+0

मैक पर SourceTree में भी इसी तरह की समस्या को हल करता है। धन्यवाद! – ludenus

0

सबसे अधिक संभावना है कि यह this line है जहां त्रुटि होती है। जैसा कि आप मुख्य मुद्दा देख सकते हैं कि यह require 'overcommit' करने में सक्षम नहीं है। मैं गिटहब डेस्कटॉप क्लाइंट को इतना अच्छी तरह से नहीं जानता (शायद इसके अंदर इसे कॉन्फ़िगर करने का एक तरीका है), लेकिन एक चीज जो आप कर सकते हैं वह पूर्ण पथ जोड़ रहा है जहां आरवीएम आपके रत्नों को हुक में "पथ की आवश्यकता" में संग्रहीत करता है फ़ाइल। यह दिख सकता है जैसे:

$: << "/home/user/.rvm/path/to/gems/dir" 

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

+0

आपके उत्तर के लिए धन्यवाद, इसलिए मैंने वैश्विक रूप से ओवरकमिट स्थापित किया। अब यह rubocop नहीं मिल सकता है (जो मैं पूर्व-प्रतिबद्ध हुक में चलाता हूं)। तो अगला कदम है। – Chris

+1

@Chris ओवर कमांड कॉन्फ़िगरेशन में 'कमांड: [' बंडल ',' exec ',' rubocop ']' का उपयोग करें ताकि रूबोकॉप बंडल के अंदर से चलाया जा सके। – rewritten

0

आप सही हैं, गिथब डेस्कटॉप (या कोई अन्य जीयूआई) आपके टर्मिनल वातावरण में नहीं चल रहा है, इसलिए यह आपके विशिष्ट आरवीएम स्थापना के बारे में कुछ नहीं जानता है।

एक सरल समाधान रूबी overcommit और अपने सिस्टम में अपने हुक के लिए आवश्यक किसी भी अन्य रत्नों स्थापित करने के लिए है:

sudo su - 
gem install bundler 
gem install overcommit 
gem install rubocop 
... 

आप Homebrew या अन्य साधनों द्वारा Git स्थापित हैं, तो आप Git द्विआधारी बदलने के लिए हो सकता है आपके जीयूआई द्वारा उपयोग किया जाता है।

उदाहरण के लिए, Tower में, मैंने सिस्टम के बजाय होमब्रू का संस्करण चुना।

Tower for OS X Git Config

+0

कोई भाग्य नहीं: '[रूबोकॉप] FAILED 'रूबोकॉप' स्थापित नहीं है, आपके पैथ में नहीं है, या निष्पादन अनुमति नहीं है इसे चलाकर इंस्टॉल करें: मणि रबोकॉप' – Chris

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