2014-06-06 5 views
7

मेरे पास जिथब पर संग्रहीत एक निजी मॉड्यूल है जिसमें मैं npm का उपयोग कर अपनी परियोजनाओं में से एक में शामिल हूं। मॉड्यूल एक .npmignore फ़ाइल है, लेकिन जब मैं स्थापित करने या मॉड्यूल को अद्यतन कुछ भी नहीं पर ध्यान नहीं दिया जा रहा है।.npmignore फ़ाइलों को अनदेखा नहीं कर रहा है

परियोजना की package.json

{ 
    "name": "Your Cool Project", 
    "version": "0.0.0", 
    "dependencies": { 
    "myModule" : "git+ssh://[email protected]:user/myModule.git", 
    /* All your other dependencies */ 
    } 
    ... 
} 

मॉड्यूल के .npmignore फ़ाइल

.git* 
gulpfile.js 
index.html 
tests.js 
README.md 

जब मैं npm update myModule चलाने इन फ़ाइलों को अभी भी अपने प्रोजेक्ट में डाउनलोड किया जा रहा है। क्या मैं कुछ भूल रहा हूँ? निजी तौर पर की मेजबानी की मॉड्यूल के लिए .npmignore काम करता है? अग्रिम में धन्यवाद।

+1

उल्लेखनीय यह है कि README हमेशा शामिल किया जाता है, भले ही '.npmignore' में सूचीबद्ध है। देखें [डॉक्स] (https://docs.npmjs.com/misc/developers#keeping-files-out-of-your-package) – Nobita

उत्तर

8

चूंकि आप एक गिट रिपोजिटरी के रूप में निर्भरता myModule निर्दिष्ट कर रहे हैं, इसलिए एनपीएम शायद रेपो क्लोनिंग कर रहा है। इसलिए अपने .npmignore फ़ाइलों का उपयोग नहीं किया जा रहा है। pack या publish (अपने उदाहरण की तरह) लेने वाली नहीं मॉड्यूल:

.npmignore जब उदाहरण के लिए "मॉड्यूल बनाने" का इस्तेमाल किया जा रहा है।

1

सावधान जब .npmignore

का उपयोग कर आप कुछ अतिरिक्त समझदार चूक के साथ .npmignore, यह .gitignore को चूक नहीं उपयोग किया गया है, तो हो सकता है।

क्या कई एहसास नहीं है कि एक बार आप अपने प्रोजेक्ट में कोई .npmignore फ़ाइल जोड़ने .gitignore नियम हैं (विडंबना यह है कि) नजरअंदाज कर दिया। परिणाम आप ऑडिट करने के लिए दो प्रकाशित करते समय संवेदनशील लीक को रोकने के लिए सिंक में फ़ाइलों की अनदेखी की आवश्यकता होगी है।

फिर भी, मुझे लगता है कि /node_modules आपके .npmignore में लापता है।

नीचे के रूप में package.json फ़ाइल में विशेषता private: true सेट करें:

{ 
    "name": "project-name", 
    "version": "0.0.0", 
    "license": "MIT", 
    "scripts": { 
    }, 
    "private": true, 
    "dependencies": { 
    }, 
    "devDependencies": { 
    } 
} 

कि फ़ोल्डर में .npmignore साथ NPM भंडार करने के लिए इसे प्रकाशित करने /public फ़ोल्डर में निर्माण उत्पन्न करें।

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