AskCleanAskClean

प्रोजेक्ट गँवाए बिना Mac पर node_modules कैसे हटाएँ

AskClean टीम · अपडेट किया गया 2026-08-05

node_modules तभी हटाएँ जब package.json, सही लॉकफ़ाइल और डिपेंडेंसी के सभी स्रोत उपलब्ध हों। पहले हर प्रोजेक्ट का आकार मापें, चलती प्रक्रियाएँ रोकें और केवल जाँचा हुआ डिपेंडेंसी फ़ोल्डर Trash में भेजें। उसी पैकेज मैनेजर से दोबारा इंस्टॉल करें; बिल्ड, टेस्ट और ऐप चलाकर जाँचने से पहले Trash खाली न करें।

रोबोटिक भुजा डिपेंडेंसी नेटवर्क से एक ब्लॉक उठाकर रीसाइक्लिंग डिब्बे में रख रही है; नीला ब्लॉक, ब्लूप्रिंट और ताला सुरक्षित हैं
केवल दोबारा बन सकने वाला डिपेंडेंसी फ़ोल्डर हटाएँ; प्रोजेक्ट का manifest, लॉकफ़ाइल, कॉन्फ़िगरेशन और सोर्स सुरक्षित रखें।

node_modules को प्रोजेक्ट और npm कैश से अलग पहचानें

node_modules किसी एक प्रोजेक्ट की इंस्टॉल की हुई डिपेंडेंसी ट्री है और सभी इनपुट उपलब्ध होने पर ही दोबारा बन सकती है। इसे हटाने के बाद, इंस्टॉल पूरा होने तक प्रोजेक्ट न चलेगा, न बिल्ड होगा। package.json, लॉकफ़ाइल, सोर्स कोड, कॉन्फ़िगरेशन, पैच, वर्कस्पेस फ़ाइलें और Git इतिहास दोबारा बनाने के लिए ज़रूरी हैं—इन्हें कभी न हटाएँ। npm का साझा डाउनलोड कैश आम तौर पर ~/.npm में होता है; उसका दायरा और बहाली की लागत अलग है।

पक्का करें कि डिपेंडेंसी सचमुच दोबारा बन सकती हैं

लॉकफ़ाइल इंस्टॉल को अनुमान योग्य बनाती है, लेकिन वह पैकेजों का बैकअप नहीं है। रिपॉज़िटरी का पैकेज मैनेजर और वर्ज़न पहचानें तथा package-lock.json, pnpm-lock.yaml, yarn.lock, bun.lock या bun.lockb सुरक्षित रखें। npm v12 अब npm-shrinkwrap.json नहीं पढ़ता; यदि पुराने प्रोजेक्ट में वही अकेली लॉकफ़ाइल है, तो उसका नाम package-lock.json करें—पहले से मौजूद package-lock.json को कभी न बदलें या उस पर न लिखें। निजी रजिस्ट्री, VPN, Git और file: डिपेंडेंसी, लोकल वर्कस्पेस, बाहरी डाउनलोड और नेटिव टूलचेन की उपलब्धता भी जाँचें। केवल node_modules में किया गया बदलाव फ़ोल्डर हटते ही हमेशा के लिए मिट जाएगा।

  1. प्रोजेक्ट root से pwd और du -sh ./node_modules चलाएँ; macOS की खाली जगह भी लिख लें।
  2. package.json, सही लॉकफ़ाइल, वर्कस्पेस कॉन्फ़िगरेशन और लोकल बदलाव जाँचें; npm v12 में पुराने npm-shrinkwrap.json का नाम तभी package-lock.json करें जब वही अकेली लॉकफ़ाइल हो और package-lock.json पहले से मौजूद न हो।
  3. Private registry, Git और file: dependencies, local packages, बाहरी downloads तथा build tools की पहुँच जाँचें और node_modules इस्तेमाल करने वाली सभी प्रक्रियाएँ रोकें।
  4. केवल जाँचा हुआ node_modules Trash में भेजें, फिर सही रूट से रिपॉज़िटरी के पैकेज मैनेजर और लॉकफ़ाइल प्रक्रिया के साथ दोबारा इंस्टॉल करें।
  5. बिल्ड, टेस्ट और लिंट चलाएँ, ऐप खोलें, जगह फिर मापें और सभी जाँच पास होने के बाद ही Trash खाली करें।

node_modules को किसी package या manual fix की अकेली copy न बनने दें। अगर dependency का ठीक वही version अब मिल नहीं सकता और उसका source कहीं और सुरक्षित नहीं है, तो डिलीट करने से पुराना प्रोजेक्ट दोबारा चलने लायक़ नहीं रह सकता।

सिर्फ़ एक जाँचा हुआ डिपेंडेंसी फ़ोल्डर हटाएँ

पुष्टि किए गए प्रोजेक्ट में Finder से केवल node_modules को Trash में भेजें—उसकी मूल रिपॉज़िटरी को नहीं। rm -rf ./node_modules Trash को बायपास करता है और पलटा नहीं जा सकता; इसे चलाने के बारे में सोचने से पहले pwd से प्रोजेक्ट रूट जाँचें। package-lock.json आधिकारिक लॉकफ़ाइल हो तो उसी रूट से npm ci चलाएँ; अन्यथा रिपॉज़िटरी के अनुसार pnpm install --frozen-lockfile, yarn install --immutable, Yarn Classic के लिए yarn install --frozen-lockfile या bun install --frozen-lockfile इस्तेमाल करें। मोनोरेपो को रूट लॉकफ़ाइल से चलने वाला एक ही डिपेंडेंसी सिस्टम मानें।

दोबारा इंस्टॉल करके पूरा प्रोजेक्ट सत्यापित करें

इंस्टॉल पूरा होना पूरी बहाली का प्रमाण नहीं है। प्रोजेक्ट के दस्तावेज़ों में दिए बिल्ड, टेस्ट, लिंट और लॉन्च चरण चलाएँ; Node.js, macOS या टूलचेन बदलने पर नेटिव मॉड्यूल और lifecycle scripts फिर भी विफल हो सकते हैं। दोबारा बनाने में डाउनलोड, फ़ाइलें निकालना, लिंक बनाना और कंपाइलेशन शामिल हो सकते हैं। विफलता पर संभव हो तो Trash से फ़ोल्डर वापस लाएँ, त्रुटि लॉग बचाएँ और अगला प्रोजेक्ट साफ़ करने से पहले credentials, नेटवर्क, वर्ज़न और लॉकफ़ाइल जाँचें।

हटाने की सीमा और बहाली की लागत

बड़े node_modules फ़ोल्डर ढूँढें, सोर्स और लॉकफ़ाइलें सुरक्षित रखें, हर प्रोजेक्ट की डिपेंडेंसी अलग हटाएँ और npm, pnpm, Yarn या Bun से सुरक्षित रूप से दोबारा इंस्टॉल करें।

चीज़ या कार्रवाईकहाँ जाँचेंनतीजा
node_modules को प्रोजेक्ट और npm कैश से अलग पहचानेंproject/node_modulesnode_modules किसी एक प्रोजेक्ट की इंस्टॉल की हुई डिपेंडेंसी ट्री है और सभी इनपुट उपलब्ध होने पर ही दोबारा बन सकती है। इसे हटाने के बाद, इंस्टॉल पूरा होने तक प्रोजेक्ट न चलेगा, न बिल्ड होगा। package.json, लॉकफ़ाइल, सोर्स कोड, कॉन्फ़िगरेशन, पैच, वर्कस्पेस फ़ाइलें और Git इतिहास दोबारा बनाने के लिए ज़रूरी हैं—इन्हें कभी न हटाएँ। npm का साझा डाउनलोड कैश आम तौर पर ~/.npm में होता है; उसका दायरा और बहाली की लागत अलग है।
पक्का करें कि डिपेंडेंसी सचमुच दोबारा बन सकती हैंpackage.json + लॉकफ़ाइल + वर्कस्पेस कॉन्फ़िगरेशनलॉकफ़ाइल इंस्टॉल को अनुमान योग्य बनाती है, लेकिन वह पैकेजों का बैकअप नहीं है। रिपॉज़िटरी का पैकेज मैनेजर और वर्ज़न पहचानें तथा package-lock.json, pnpm-lock.yaml, yarn.lock, bun.lock या bun.lockb सुरक्षित रखें। npm v12 अब npm-shrinkwrap.json नहीं पढ़ता; यदि पुराने प्रोजेक्ट में वही अकेली लॉकफ़ाइल है, तो उसका नाम package-lock.json करें—पहले से मौजूद package-lock.json को कभी न बदलें या उस पर न लिखें। निजी रजिस्ट्री, VPN, Git और file: डिपेंडेंसी, लोकल वर्कस्पेस, बाहरी डाउनलोड और नेटिव टूलचेन की उपलब्धता भी जाँचें। केवल node_modules में किया गया बदलाव फ़ोल्डर हटते ही हमेशा के लिए मिट जाएगा।
सिर्फ़ एक जाँचा हुआ डिपेंडेंसी फ़ोल्डर हटाएँTrash / पैकेज मैनेजर से दोबारा इंस्टॉलपुष्टि किए गए प्रोजेक्ट में Finder से केवल node_modules को Trash में भेजें—उसकी मूल रिपॉज़िटरी को नहीं। rm -rf ./node_modules Trash को बायपास करता है और पलटा नहीं जा सकता; इसे चलाने के बारे में सोचने से पहले pwd से प्रोजेक्ट रूट जाँचें। package-lock.json आधिकारिक लॉकफ़ाइल हो तो उसी रूट से npm ci चलाएँ; अन्यथा रिपॉज़िटरी के अनुसार pnpm install --frozen-lockfile, yarn install --immutable, Yarn Classic के लिए yarn install --frozen-lockfile या bun install --frozen-lockfile इस्तेमाल करें। मोनोरेपो को रूट लॉकफ़ाइल से चलने वाला एक ही डिपेंडेंसी सिस्टम मानें।
दोबारा इंस्टॉल करके पूरा प्रोजेक्ट सत्यापित करेंबिल्ड + टेस्ट + ऐप चलानाइंस्टॉल पूरा होना पूरी बहाली का प्रमाण नहीं है। प्रोजेक्ट के दस्तावेज़ों में दिए बिल्ड, टेस्ट, लिंट और लॉन्च चरण चलाएँ; Node.js, macOS या टूलचेन बदलने पर नेटिव मॉड्यूल और lifecycle scripts फिर भी विफल हो सकते हैं। दोबारा बनाने में डाउनलोड, फ़ाइलें निकालना, लिंक बनाना और कंपाइलेशन शामिल हो सकते हैं। विफलता पर संभव हो तो Trash से फ़ोल्डर वापस लाएँ, त्रुटि लॉग बचाएँ और अगला प्रोजेक्ट साफ़ करने से पहले credentials, नेटवर्क, वर्ज़न और लॉकफ़ाइल जाँचें।

FAQ

क्या Mac पर node_modules डिलीट करना सुरक्षित है?

आमतौर पर हाँ, जब package.json, सही lockfile, workspace फ़ाइलें, सोर्स कोड और dependency के सभी स्रोत सुरक्षित हों। दोबारा इंस्टॉल और जाँच पूरी होने तक प्रोजेक्ट नहीं चलेगा।

क्या package-lock.json भी डिलीट करना चाहिए?

नहीं। package-lock.json दोहराए जा सकने वाले npm install का इनपुट है। npm v12 अब npm-shrinkwrap.json नहीं पढ़ता; अगर वही अकेली लॉकफ़ाइल है तो उसे package-lock.json नाम दें, लेकिन मौजूदा package-lock.json को कभी overwrite न करें।

क्या node_modules और npm cache एक ही चीज़ हैं?

नहीं। node_modules किसी एक प्रोजेक्ट की इंस्टॉल dependency है; npm का साझा cache आम तौर पर ~/.npm में रहता है। एक को हटाने से दूसरा नहीं हटता।

स्रोत

डेवलपर स्टोरेज से जुड़ी दूसरी गाइडें