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

कैश, इंस्टॉल डिपेंडेंसी और प्रोजेक्ट फ़ाइलें अलग रखें
npm कैश कई प्रोजेक्टों के दोबारा इस्तेमाल योग्य डाउनलोड रखता है और macOS पर डिफ़ॉल्ट रूप से ~/.npm में होता है, हालाँकि कॉन्फ़िगरेशन उसका स्थान बदल सकती है। node_modules प्रोजेक्ट की इंस्टॉल की हुई डिपेंडेंसी ट्री है। package.json और package-lock.json प्रोजेक्ट फ़ाइलें हैं, कैश नहीं। npm-shrinkwrap.json भी कैश नहीं है, लेकिन npm v12 अब उसे नहीं पढ़ता; अगर वही अकेली लॉकफ़ाइल है तो दोबारा इंस्टॉल करने से पहले उसका नाम package-lock.json करें और पहले से मौजूद package-lock.json को कभी overwrite न करें।
सक्रिय कैश मापें और पहले उसकी जाँच करें
केवल ~/.npm मौजूद होने से उसे सक्रिय कैश न मानें। npm config get cache मौजूदा कॉन्फ़िगरेशन के अनुसार पाथ बताता है; npm --version दर्ज करें, मिले पाथ को du -sh से मापें और macOS की खाली जगह भी लिखें। npm cache verify इंडेक्स और डेटा जाँचता है, integrity सत्यापित करता है और अनावश्यक सामग्री हटाता है, जबकि सही व दोबारा इस्तेमाल योग्य डाउनलोड बचाए रखता है। नियमित रखरखाव या कैश से असंबंधित इंस्टॉल त्रुटि में verify अक्सर पर्याप्त होता है।
- npm --version और npm config get cache चलाएँ; पुष्टि करें कि निकला पाथ कैश का है, किसी प्रोजेक्ट फ़ोल्डर का नहीं।
- मिले हुए सटीक path को du -sh से मापें और package.json या lockfile बदले बिना macOS की खाली जगह दर्ज करें।
- npm install, npm ci, npm exec और publish करने वाली प्रक्रियाएँ रोकें; npm cache verify चलाकर सारांश और त्रुटियाँ सुरक्षित रखें।
- npm cache clean --force केवल तब चलाएँ जब npm cache verify पर्याप्त न हो, जगह का लाभ सार्थक हो और ज़रूरी artifacts अभी भी उपलब्ध हों।
- npm cache verify फिर चलाएँ, वही path दोबारा मापें और lockfile बदले बिना किसी प्रोजेक्ट का install, build और test सत्यापित करें।
किसी बिना जाँचे पाथ को rm -rf में कभी न डालें। कैश सफ़ाई के साथ लॉकफ़ाइल हटाना या दोबारा बनाना भी न जोड़ें; दोनों चीज़ें एक साथ बदलने पर त्रुटि की असली वजह पहचानना कठिन हो जाता है।
npm cache clean --force सोच-समझकर चलाएँ
npm cache clean --force तभी चलाएँ जब मापा गया कैश पर्याप्त बड़ा हो, जगह अभी चाहिए और artifacts फिर मिल सकते हों। यह कॉन्फ़िगर किया हुआ कैश साफ़ करता है—node_modules, package.json या लॉकफ़ाइल नहीं—और ज़रूरत पड़ने पर npm कैश दोबारा बना देगा। अगला इंस्टॉल धीमा हो सकता है या ऑफ़लाइन होने पर विफल हो सकता है; निजी रजिस्ट्री, Git सर्वर, proxy, credentials और upstream से हट चुके पैकेज बहाली महँगी बना सकते हैं। force को npm की स्थायी कॉन्फ़िगरेशन न बनाएँ।
डिपेंडेंसी ग्राफ़ बदले बिना नतीजा जाँचें
सफ़ाई के बाद कैश पाथ फिर पूछें, उसी जगह को मापें और macOS में असल खाली जगह की तुलना करें। package.json और लॉकफ़ाइल बदले बिना किसी प्रतिनिधि प्रोजेक्ट का सामान्य इंस्टॉल, बिल्ड और टेस्ट चलाएँ। पुरानी त्रुटि लौटे तो कैश बार-बार न मिटाएँ: ERESOLVE, credentials, 404, proxy, certificate, Node.js वर्ज़न, नेटिव बिल्ड और lifecycle script की अलग जाँच चाहिए। AskClean डिफ़ॉल्ट ~/.npm पहचानता है; मनचाहे कैश पाथ को npm से ही सत्यापित करें।
हटाने की सीमा और बहाली की लागत
npm जिस डाउनलोड कैश का सचमुच उपयोग कर रहा है, उसे ढूँढें और मापें, पहले उसकी जाँच करें और node_modules या प्रोजेक्ट फ़ाइलें छुए बिना केवल ज़रूरत होने पर साफ़ करें।
| चीज़ या कार्रवाई | कहाँ जाँचें | नतीजा |
|---|---|---|
| कैश, इंस्टॉल डिपेंडेंसी और प्रोजेक्ट फ़ाइलें अलग रखें | npm config get cache | npm कैश कई प्रोजेक्टों के दोबारा इस्तेमाल योग्य डाउनलोड रखता है और macOS पर डिफ़ॉल्ट रूप से ~/.npm में होता है, हालाँकि कॉन्फ़िगरेशन उसका स्थान बदल सकती है। node_modules प्रोजेक्ट की इंस्टॉल की हुई डिपेंडेंसी ट्री है। package.json और package-lock.json प्रोजेक्ट फ़ाइलें हैं, कैश नहीं। npm-shrinkwrap.json भी कैश नहीं है, लेकिन npm v12 अब उसे नहीं पढ़ता; अगर वही अकेली लॉकफ़ाइल है तो दोबारा इंस्टॉल करने से पहले उसका नाम package-lock.json करें और पहले से मौजूद package-lock.json को कभी overwrite न करें। |
| सक्रिय कैश मापें और पहले उसकी जाँच करें | npm cache verify | केवल ~/.npm मौजूद होने से उसे सक्रिय कैश न मानें। npm config get cache मौजूदा कॉन्फ़िगरेशन के अनुसार पाथ बताता है; npm --version दर्ज करें, मिले पाथ को du -sh से मापें और macOS की खाली जगह भी लिखें। npm cache verify इंडेक्स और डेटा जाँचता है, integrity सत्यापित करता है और अनावश्यक सामग्री हटाता है, जबकि सही व दोबारा इस्तेमाल योग्य डाउनलोड बचाए रखता है। नियमित रखरखाव या कैश से असंबंधित इंस्टॉल त्रुटि में verify अक्सर पर्याप्त होता है। |
| npm cache clean --force सोच-समझकर चलाएँ | npm cache clean --force | npm cache clean --force तभी चलाएँ जब मापा गया कैश पर्याप्त बड़ा हो, जगह अभी चाहिए और artifacts फिर मिल सकते हों। यह कॉन्फ़िगर किया हुआ कैश साफ़ करता है—node_modules, package.json या लॉकफ़ाइल नहीं—और ज़रूरत पड़ने पर npm कैश दोबारा बना देगा। अगला इंस्टॉल धीमा हो सकता है या ऑफ़लाइन होने पर विफल हो सकता है; निजी रजिस्ट्री, Git सर्वर, proxy, credentials और upstream से हट चुके पैकेज बहाली महँगी बना सकते हैं। force को npm की स्थायी कॉन्फ़िगरेशन न बनाएँ। |
| डिपेंडेंसी ग्राफ़ बदले बिना नतीजा जाँचें | इंस्टॉल + ऑफ़लाइन/निजी रजिस्ट्री की जाँच | सफ़ाई के बाद कैश पाथ फिर पूछें, उसी जगह को मापें और macOS में असल खाली जगह की तुलना करें। package.json और लॉकफ़ाइल बदले बिना किसी प्रतिनिधि प्रोजेक्ट का सामान्य इंस्टॉल, बिल्ड और टेस्ट चलाएँ। पुरानी त्रुटि लौटे तो कैश बार-बार न मिटाएँ: ERESOLVE, credentials, 404, proxy, certificate, Node.js वर्ज़न, नेटिव बिल्ड और lifecycle script की अलग जाँच चाहिए। AskClean डिफ़ॉल्ट ~/.npm पहचानता है; मनचाहे कैश पाथ को npm से ही सत्यापित करें। |
FAQ
क्या Mac पर npm cache clean --force चलाना सुरक्षित है?
npm सही cache की ओर इशारा कर रहा हो तो यह सोर्स या project files नहीं हटाता, लेकिन reusable downloads मिटा देता है। पहले मापें और verify करें, active processes रोकें और अगले install के लिए network तैयार रखें।
पहले npm cache verify चलाएँ या clean?
पहले npm cache verify चलाएँ। यह integrity जाँचता और अनावश्यक data हटाता है, लेकिन सही content बचाता है; clean --force केवल मापी हुई space जरूरत या पुष्टि हो चुकी cache समस्या के लिए है।
क्या npm cache साफ़ करने से package-lock.json मिटता है?
नहीं। package.json और package-lock.json प्रोजेक्ट फ़ाइलें हैं। npm v12 अब npm-shrinkwrap.json नहीं पढ़ता; अगर वही अकेली लॉकफ़ाइल हो तो उसका नाम package-lock.json करें, लेकिन मौजूदा package-lock.json को कभी overwrite न करें। कैश सफ़ाई में किसी लॉकफ़ाइल को न हटाएँ।
स्रोत