Mac पर npm कैश सुरक्षित रूप से कैसे साफ़ करें
AskClean टीम · अपडेट: 2026-11-02
npm config get cache से सक्रिय कैश ढूँढें, उसी सटीक पाथ को du से मापें और कुछ भी हटाने से पहले npm cache verify चलाएँ। npm cache clean --force तभी चलाएँ जब आपको सचमुच जगह चाहिए और आगे दोबारा डाउनलोड की कीमत मंज़ूर हो। यह कमांड node_modules, package.json या आपकी लॉकफ़ाइल नहीं हटाता।

npm कैश और node_modules अलग चीज़ें हैं
npm कई प्रोजेक्ट के लिए दोबारा काम आने वाले पैकेज डाउनलोड एक साझा कैश में रखता है; macOS पर इसकी डिफ़ॉल्ट जगह ~/.npm है, हालाँकि कॉन्फ़िगरेशन इसे कहीं और भी रख सकती है। node_modules किसी प्रोजेक्ट की इंस्टॉल की हुई डिपेंडेंसी ट्री है, डाउनलोड कैश का हिस्सा नहीं। package.json और package-lock.json प्रोजेक्ट फ़ाइलें हैं, कैश नहीं। पुरानी npm-shrinkwrap.json भी कैश नहीं है, लेकिन npm v12 अब उसे नहीं पढ़ता; अगर वही अकेली लॉकफ़ाइल है, तो दोबारा इंस्टॉल करने से पहले उसका नाम package-lock.json करें, और पहले से मौजूद package-lock.json पर कभी ओवरराइट न करें।
सक्रिय कैश मापें और पहले उसकी जाँच करें
सिर्फ़ इसलिए कि ~/.npm मौजूद है, उसे सक्रिय कैश न मानें। npm config get cache मौजूदा कॉन्फ़िगरेशन के हिसाब से असली पाथ बताता है; npm --version भी लिख लें, मिले हुए पाथ को du -sh से मापें और macOS में ख़ाली जगह दर्ज करें। npm cache verify कैश का इंडेक्स और डेटा जाँचता है, इंटेग्रिटी पक्की करता है और अनावश्यक डेटा हटाता है, जबकि सही और दोबारा काम आने वाले डाउनलोड बचाए रखता है। नियमित रखरखाव के लिए, या जब इंस्टॉल की गड़बड़ी कैश से जुड़ी न हो, verify अक्सर काफ़ी होता है।
- npm --version और npm config get cache चलाएँ; पक्का करें कि मिला हुआ पाथ कैश का है, किसी प्रोजेक्ट फ़ोल्डर का नहीं।
- मिले हुए सटीक पाथ को du -sh से मापें (पाथ में स्पेस हो तो उसे कोट करें) और package.json या लॉकफ़ाइल बदले बिना macOS में ख़ाली जगह लिख लें।
- कैश इस्तेमाल कर रही npm install, npm ci, npm exec या पब्लिश की प्रक्रियाएँ रोकें; फिर npm cache verify चलाएँ और उसका सारांश व एरर सहेज लें।
- npm cache clean --force तभी चलाएँ जब npm cache verify काफ़ी न हो, जगह का फ़ायदा सचमुच बड़ा हो और ज़रूरी पैकेज रजिस्ट्री से फिर मिल सकते हों।
- npm cache verify फिर से चलाएँ, वही पाथ दोबारा मापें, और लॉकफ़ाइल बदले बिना किसी प्रोजेक्ट का इंस्टॉल, बिल्ड और टेस्ट चलाकर देखें।
किसी बिना जाँचे पाथ को rm -rf में कभी न डालें। कैश की सफ़ाई के साथ लॉकफ़ाइल डिलीट करना या दोबारा बनाना भी न जोड़ें: दोनों चीज़ें एक साथ बदलने पर गड़बड़ी की असली वजह पहचानना मुश्किल हो जाता है।
npm cache clean --force सोच-समझकर चलाएँ
npm cache clean --force तभी चलाएँ जब मापा गया कैश सचमुच बड़ा हो, जगह अभी चाहिए और पैकेज फिर से डाउनलोड हो सकते हों। यह कॉन्फ़िगर किया हुआ कैश साफ़ करता है — node_modules, package.json या लॉकफ़ाइल नहीं — और ज़रूरत पड़ने पर npm कैश फिर से बना लेता है। अगला इंस्टॉल धीमा हो सकता है या ऑफ़लाइन होने पर विफल हो सकता है; निजी रजिस्ट्री, Git सर्वर, प्रॉक्सी, क्रेडेंशियल और upstream से हट चुके पैकेज रिकवरी को महँगा बना सकते हैं। --force सिर्फ़ इसी कमांड के साथ दें; force को npm की स्थायी कॉन्फ़िगरेशन न बनाएँ, क्योंकि यह सेटिंग कई दूसरे कामों की सुरक्षा भी ढीली कर देती है।
डिपेंडेंसी ग्राफ़ बदले बिना नतीजा जाँचें
सफ़ाई के बाद कैश का पाथ फिर से पूछें, उसी जगह को मापें और macOS में असल ख़ाली जगह की तुलना करें। package.json और लॉकफ़ाइल बदले बिना किसी एक प्रतिनिधि प्रोजेक्ट का सामान्य इंस्टॉल, बिल्ड और टेस्ट चलाएँ। वही एरर लौट आए, तो कैश बार-बार न मिटाएँ: ERESOLVE, क्रेडेंशियल, 404, प्रॉक्सी, सर्टिफ़िकेट, Node.js वर्शन, नेटिव बिल्ड और lifecycle स्क्रिप्ट की गड़बड़ियों की अलग जाँच चाहिए। AskClean डिफ़ॉल्ट ~/.npm को एक साझा कैश आइटम के रूप में पहचानता है और पुष्टि करने पर उसे स्थायी रूप से डिलीट करता है; कस्टम कैश पाथ npm config get cache से ही जाँचें।
डिलीट करने की सीमा और रिकवरी की कीमत
Mac पर npm कैश ढूँढें और मापें, पहले npm cache verify चलाएँ, npm cache clean --force सिर्फ़ ज़रूरत पर चलाएँ और node_modules व लॉकफ़ाइल सुरक्षित रखें।
| चीज़ या कार्रवाई | कहाँ जाँचें | नतीजा |
|---|---|---|
| npm कैश और node_modules अलग चीज़ें हैं | npm config get cache | npm कई प्रोजेक्ट के लिए दोबारा काम आने वाले पैकेज डाउनलोड एक साझा कैश में रखता है; macOS पर इसकी डिफ़ॉल्ट जगह ~/.npm है, हालाँकि कॉन्फ़िगरेशन इसे कहीं और भी रख सकती है। |
| सक्रिय कैश मापें और पहले उसकी जाँच करें | npm cache verify | सिर्फ़ इसलिए कि ~/.npm मौजूद है, उसे सक्रिय कैश न मानें। |
| npm cache clean --force सोच-समझकर चलाएँ | npm cache clean --force | npm cache clean --force तभी चलाएँ जब मापा गया कैश सचमुच बड़ा हो, जगह अभी चाहिए और पैकेज फिर से डाउनलोड हो सकते हों। |
| डिपेंडेंसी ग्राफ़ बदले बिना नतीजा जाँचें | इंस्टॉल + ऑफ़लाइन/निजी रजिस्ट्री की जाँच | सफ़ाई के बाद कैश का पाथ फिर से पूछें, उसी जगह को मापें और macOS में असल ख़ाली जगह की तुलना करें। |
FAQ
क्या Mac पर npm cache clean --force चलाना सुरक्षित है?
अगर npm अपने असली कैश की ओर इशारा कर रहा है, तो यह सोर्स कोड या प्रोजेक्ट फ़ाइलें नहीं हटाता, लेकिन दोबारा काम आने वाले डाउनलोड मिटा देता है। पहले मापें और npm cache verify चलाएँ, चल रही npm प्रक्रियाएँ रोकें, और मानकर चलें कि अगले इंस्टॉल में नेटवर्क की ज़रूरत पड़ेगी। हाथ से बनाया गया rm -rf जैसा कमांड इस्तेमाल न करें।
पहले npm cache verify चलाएँ या clean?
पहले npm cache verify चलाएँ। यह इंटेग्रिटी जाँचता है और अनावश्यक डेटा हटाता है, पर सही कैश सामग्री बचाए रखता है। npm cache clean --force सिर्फ़ मापी गई जगह की ज़रूरत के लिए है, या ऐसी पक्की कैश समस्या के लिए जो verify से ठीक न हुई हो।
क्या npm कैश साफ़ करने से package-lock.json डिलीट हो जाती है?
नहीं। package.json और package-lock.json प्रोजेक्ट फ़ाइलें हैं, कैश नहीं। npm v12 अब npm-shrinkwrap.json नहीं पढ़ता; अगर वही अकेली लॉकफ़ाइल हो, तो उसका नाम package-lock.json करें, लेकिन मौजूदा package-lock.json पर कभी ओवरराइट न करें। कैश की सफ़ाई में कोई भी लॉकफ़ाइल न हटाएँ।
स्रोत