brew cleanup -s क्या करता है? Mac पर Homebrew कैश साफ़ करें
AskClean टीम · अपडेट: 2026-11-02
कुछ भी बदलने से पहले brew cleanup -n चलाएँ। सामान्य cleanup पुरानी lock फ़ाइलें, आउटडेटेड डाउनलोड और formula के पुराने वर्शन हटाता है। -s या --scrub विकल्प इससे आगे जाता है: यह नवीनतम वर्शन के कैश किए गए डाउनलोड भी डिलीट करता है, जैसे ऐसे पैकेज जिन्हें आपने डाउनलोड तो किया पर कभी इंस्टॉल नहीं किया, या बाद में हटा दिया। जो कुछ अब भी इंस्टॉल है, उसके डाउनलोड दोनों ही सूरतों में बचे रहते हैं। सक्रिय कैश का स्थान brew --cache से पक्का करें।

डाउनलोड, पुराने keg और सक्रिय टूल अलग पहचानें
Homebrew आम तौर पर bottle, सोर्स आर्काइव और cask डाउनलोड ~/Library/Caches/Homebrew में रखता है; HOMEBREW_CACHE से यह पाथ बदल सकता है। कैश की गई फ़ाइल आम तौर पर दोबारा मिल सकती है: ज़रूरत पड़ने पर Homebrew उसे फिर डाउनलोड कर लेता है। इंस्टॉल किए गए formula, Cellar में वर्शन वाले keg के रूप में रहते हैं, cask का रिकॉर्ड Caskroom में रहता है, और सक्रिय लिंक prefix के नीचे होते हैं; असली जगहें brew --cache, brew --cellar, brew --caskroom और brew --prefix से पता करें, /opt/homebrew या /usr/local मानकर न चलें। Cellar, Caskroom, prefix, Brewfile, dotfiles, सर्विस, डेटाबेस, सर्टिफ़िकेट और प्रोजेक्ट ऐसा कैश नहीं हैं जिसे एक झटके में मिटा दिया जाए।
हर उम्मीदवार का प्रीव्यू और इस्तेमाल जाँचें
सक्रिय कैश को du -sh "$(brew --cache)" से मापें, फिर brew cleanup -n चलाएँ — -n का मतलब --dry-run है: यह बिना कुछ हटाए बताता है कि Homebrew क्या हटाएगा। आउटपुट में कैश किए गए डाउनलोड, वर्शन वाले keg और “Would autoremove” के नीचे दिए formula पढ़ें। brew list --versions से अहम टूल के मौजूदा वर्शन मिलाएँ, और जाँचें कि कोई स्क्रिप्ट या रोलबैक किसी पुराने keg पर निर्भर तो नहीं। प्रीव्यू बैकअप नहीं है: यह मानकर न चलें कि असली सफ़ाई में हटाई गई चीज़ें रद्दी में मिलेंगी या ठीक वही वर्शन upstream पर दोबारा मिलेगा।
- brew --cache चलाएँ, फिर डाउनलोड कैश का पाथ du -sh "$(brew --cache)" से मापें।
- brew cleanup -n चलाकर प्रस्तावित हर डाउनलोड, formula के पुराने वर्शन और autoremove उम्मीदवार की जाँच करें।
- brew list --versions से ज़रूरी वर्शन मिलाएँ; अगले डाउनलोड के लिए नेटवर्क, प्रॉक्सी, क्रेडेंशियल और upstream पर उपलब्धता जाँचें।
- सामान्य रखरखाव के लिए brew cleanup चलाएँ; ज़्यादा व्यापक सफ़ाई के लिए पहले brew cleanup -n -s या brew cleanup -n --prune=all देखें, फिर वही कमांड -n के बिना चलाएँ। autoremove को अलग रखना हो, तो HOMEBREW_NO_AUTOREMOVE=1 लगाएँ।
- कैश फिर से मापें, brew cleanup -n और brew list --versions चलाएँ, और Homebrew से इंस्टॉल कम से कम एक अहम टूल चलाकर देखें।
brew cleanup -n सिर्फ़ प्रीव्यू है, बैकअप नहीं। Homebrew जो पुराना keg या कैश फ़ाइल हटाता है, उसके रद्दी में मिलने की उम्मीद न रखें; ठीक वही वर्शन बाद में शायद कहीं न मिले, और पुराना keg हटने से रोलबैक या किसी स्क्रिप्ट में लिखा पाथ टूट सकता है।
सही दायरा चुनें: सामान्य cleanup, -s या --prune=all
प्रीव्यू पढ़ने के बाद सामान्य रखरखाव के लिए brew cleanup चलाएँ; मौजूदा डिफ़ॉल्ट नीति 120 दिन से पुराने डाउनलोड को हटाने लायक़ मानती है, और इंस्टॉल किया मौजूदा वर्शन बना रहता है। -s का मतलब --scrub है, “safe” या “silent” नहीं: यह सफ़ाई को नए डाउनलोड तक बढ़ाता है — नवीनतम वर्शन के डाउनलोड भी हटते हैं, पर इंस्टॉल formula और cask के डाउनलोड बचे रहते हैं, यानी यह पूरा कैश ख़ाली नहीं करता; पहले brew cleanup -n -s देखें। --prune=all कैश फ़ाइलों से उम्र की सीमा हटा देता है; यह -s का पर्याय नहीं है, इसलिए जो संयोजन चलाना है उसी का प्रीव्यू लें और दोबारा डाउनलोड की कीमत मंज़ूर होने पर ही चलाएँ। इनमें से कोई भी मौजूदा पैकेज अनइंस्टॉल नहीं करता, लेकिन पुराने keg हट सकते हैं, जिससे ठीक उसी वर्शन पर रोलबैक मुश्किल या नामुमकिन हो सकता है। किसी एक formula या cask तक सीमित रहना हो, तो brew cleanup -n <name> से प्रीव्यू लें (<name> की जगह असली नाम लिखें)।
autoremove, आपका डेटा और नतीजे की जाँच अलग रखें
brew autoremove कैश की सफ़ाई नहीं है: यह उन formula को अनइंस्टॉल करता है जिन्हें Homebrew अब बेकार डिपेंडेंसी मानता है। इसे brew autoremove --dry-run से अलग जाँचें, क्योंकि कोई लोकल स्क्रिप्ट या सर्विस Homebrew के डिपेंडेंसी ग्राफ़ के बाहर से भी उस टूल को चला सकती है। ध्यान रखें: HOMEBREW_NO_AUTOREMOVE सेट न हो, तो बिना पैकेज नाम के चलाया गया brew cleanup भी ऐसे formula अनइंस्टॉल कर देता है; इसे अलग रखना हो, तो cleanup को HOMEBREW_NO_AUTOREMOVE=1 के साथ चलाएँ। सफ़ाई के बाद du -sh "$(brew --cache)", brew cleanup -n और brew list --versions से दोबारा जाँचें। AskClean ~/Library/Caches में Homebrew कैश को समीक्षा के लिए एक आइटम के रूप में दिखा सकता है, पर Cellar के पुराने keg नहीं छूता; आप उसे मंज़ूर करें, तो वह कैश स्थायी रूप से डिलीट होता है — पैकेज और keg का फ़ैसला Homebrew के प्रीव्यू से ही करें।
डिलीट करने की सीमा और रिकवरी की कीमत
brew cleanup -s (--scrub) का मतलब समझें, Homebrew कैश की सफ़ाई का पहले प्रीव्यू देखें, पुराने डाउनलोड व formula वर्शन हटाएँ और मौजूदा टूल सुरक्षित रखें।
| चीज़ या कार्रवाई | कहाँ जाँचें | नतीजा |
|---|---|---|
| डाउनलोड, पुराने keg और सक्रिय टूल अलग पहचानें | brew --cache | Homebrew आम तौर पर bottle, सोर्स आर्काइव और cask डाउनलोड ~/Library/Caches/Homebrew में रखता है; HOMEBREW_CACHE से यह पाथ बदल सकता है। |
| हर उम्मीदवार का प्रीव्यू और इस्तेमाल जाँचें | brew cleanup -n | सक्रिय कैश को du -sh "$(brew --cache)" से मापें, फिर brew cleanup -n चलाएँ — -n का मतलब --dry-run है: यह बिना कुछ हटाए बताता है कि Homebrew क्या हटाएगा। |
| सही दायरा चुनें: सामान्य cleanup, -s या --prune=all | brew cleanup / brew cleanup -s / brew cleanup --prune=all | प्रीव्यू पढ़ने के बाद सामान्य रखरखाव के लिए brew cleanup चलाएँ; मौजूदा डिफ़ॉल्ट नीति 120 दिन से पुराने डाउनलोड को हटाने लायक़ मानती है, और इंस्टॉल किया मौजूदा वर्शन बना रहता है। -s का मतलब --scrub है, “safe” या “silent” नहीं: यह सफ़ाई को नए डाउनलोड तक बढ़ाता है — नवीनतम वर्शन के डाउनलोड भी हटते हैं, पर इंस्टॉल formula और cask के डाउनलोड बचे रहते हैं, यानी यह पूरा कैश ख़ाली नहीं करता; पहले brew cleanup -n -s देखें। --prune=all कैश फ़ाइलों से उम्र की सीमा हटा देता है; यह -s का पर्याय नहीं है, इसलिए जो संयोजन चलाना है उसी का प्रीव्यू लें और दोबारा डाउनलोड की कीमत मंज़ूर होने पर ही चलाएँ। |
| autoremove, आपका डेटा और नतीजे की जाँच अलग रखें | brew autoremove --dry-run (यह कैश की सफ़ाई नहीं है) | brew autoremove कैश की सफ़ाई नहीं है: यह उन formula को अनइंस्टॉल करता है जिन्हें Homebrew अब बेकार डिपेंडेंसी मानता है। |
FAQ
क्या Mac पर brew cleanup चलाना सुरक्षित है?
यह Homebrew का आधिकारिक रखरखाव कमांड है, लेकिन पहले brew cleanup -n से प्रीव्यू देखें। यह आउटडेटेड डाउनलोड, इंस्टॉल किए गए formula के पुराने वर्शन और — HOMEBREW_NO_AUTOREMOVE सेट न हो तो — ऐसी डिपेंडेंसी भी हटाता है जिनकी अब किसी को ज़रूरत नहीं। असली कमांड चलाने से पहले पक्का करें कि कोई काम किसी पुराने keg या सूची में दिख रही डिपेंडेंसी पर निर्भर नहीं है।
brew cleanup -s का क्या मतलब है?
-s का मतलब --scrub है। यह नवीनतम वर्शन के कैश किए गए डाउनलोड भी साफ़ करता है — उन पैकेज के, जो इंस्टॉल नहीं हैं, जैसे जिन्हें आपने डाउनलोड तो किया पर कभी इंस्टॉल नहीं किया, या बाद में हटा दिया। जो formula और cask अब भी इंस्टॉल हैं, उनके डाउनलोड बचे रहते हैं। चलाने से पहले असली उम्मीदवार brew cleanup -n -s से देखें।
brew cleanup --prune=all क्या डिलीट करता है?
यह ऐसी prune नीति से cleanup चलाता है जो कैश फ़ाइलों को उनकी उम्र देखे बिना हटाती है, और cleanup साथ में पुरानी lock फ़ाइलें और formula के पुराने वर्शन भी हटा सकता है। सटीक नतीजा brew cleanup -n --prune=all से देखें, और मानकर चलें कि आगे इंस्टॉल या रीइंस्टॉल में फ़ाइलें फिर से डाउनलोड होंगी।
स्रोत