2012-03-03 21 views
8

के साथ फोर्कड गिट स्थापित करें। npm install के माध्यम से निर्भरता के रूप में package.json से पढ़ने के लिए एनपीएम प्राप्त करने का प्रयास कर रहा हूं। दुर्भाग्यवश यह एनपीएम पैकेज नोड 0.6.x में टूटा हुआ है, लेकिन कोई समस्या नहीं है क्योंकि एक फोर्कड रेपो है जो मुद्दों को हल करता है (https://github.com/hughsk/node-gitteh.git)।एनपीएम सबमिशन

अब इस मुद्दे को इस काँटेदार रेपो, एक submodule है कि यदि ऐसा है तो मैं GitHub से टार डाउनलोड करने के लिए package.json में कोशिश है:

, "dependencies" : { 
    "gitteh" : "https://github.com/hughsk/node-gitteh/tarball/master" 
} 

मैं एक त्रुटि बराबर है कि करने के लिए "submodule फ़ोल्डर नहीं मिला" मिल । यदि मैं मैन्युअल रूप से एक ही रेपो क्लोन करता हूं और node-gitteh फ़ोल्डर से एक रिकर्सिव सबमिशन अपडेट और npm install करता हूं, तो यह ठीक काम करता है, लेकिन मैं यह नहीं समझ सकता कि ऐसा करने के लिए एनपीएम कैसे प्राप्त करें।

उत्तर

1

मुझे एक ही समस्या है और अब तक मेरे मॉड्यूल को node_modules में क्लोन करने और मैन्युअल रूप से एक सबमिशन अपडेट करने पर निर्भर है। एनपीएम को स्वचालित रूप से संभालना अच्छा लगेगा।

package.json में एक स्क्रिप्ट क्षेत्र वहाँ (npm docs देखें) तो कर सकता है

"scripts":{"preinstall": "git submodule update -i -r"} 

इस का एक उदाहरण के लिए https://github.com/isaacs/octave-test देखें।

+1

एनपीएम '.gitmodules' की प्रतिलिपि नहीं करता है, इसलिए यह केवल स्थानीय रूप से काम करेगा :( –

+0

मेरे मामले में एनपीएम मुझे एक .gitmodules देने के लिए होता है, लेकिन यह अभी भी मुझे बताएगा कि कौन सा संस्करण मुझे बताएगा स्थापित करें :( – Steve

+0

मेरा '.gitmodules' फ़ाइल रखता है, लेकिन यह है। अन्य गिट मेटाडाटा में से कोई भी नीचे नहीं आता है और सबमिशन निर्देशिकाएं बिल्कुल दिखाई नहीं देती हैं। – Chev

-2

the docs के अनुसार, आपको एक विशेष प्रारूप में गिट यूआरएल की आपूर्ति करने की आवश्यकता है। इसके अलावा, इसे गिटब द्वारा प्रदान की गई टैरबॉल नहीं, गिट रेपो (उसी पते का उपयोग आप git clone के लिए उपयोग करेंगे) को इंगित करने की आवश्यकता है।

आपके मामले में (https से अधिक Git), यह होगा:

, "dependencies" : { 
    "gitteh" : "git+https://github.com/hughsk/node-gitteh" 
} 

इस का उपयोग करना, NPM मास्टर शाखा लागू हो जाएगी।

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