Swift Package Manager कैश को सुरक्षित रूप से कैसे साफ करें
AskClean टीम · अपडेट किया गया 2026-07-31
मौजूदा पैकेज के बिल्ड आउटपुट के लिए swift package clean, उसकी पूरी लोकल स्थिति रीसेट करने के लिए reset और ग्लोबल रिपॉज़िटरी कैश के लिए केवल swift package purge-cache इस्तेमाल करें। Package.swift और Package.resolved रखें: ये डिपेंडेंसी तय करते हैं, फेंक देने योग्य कैश नहीं हैं।

SwiftPM में कई लेयर हैं
कमांड-लाइन पैकेज चेकआउट और बिल्ड आउटपुट को .build में रखता है, जबकि SwiftPM साझा रिपॉज़िटरी कैश बनाए रखता है। Xcode पैकेज आउटपुट को प्रोजेक्ट के DerivedData में रख सकता है। समस्या समझाने वाली सबसे छोटी लेयर साफ करें।
दायरे के अनुसार कमांड चुनें
swift package clean मौजूदा पैकेज के बिल्ड आउटपुट हटाता है। reset ज्यादा व्यापक है और लोकल स्थिति फिर तैयार करता है। purge-cache कई प्रोजेक्ट की साझा डाउनलोड को प्रभावित करता है, इसलिए अगली रिज़ॉल्यूशन प्रक्रिया को नेटवर्क और अधिक समय लग सकता है।
- बदलाव सहेजें और Package.swift व Package.resolved जाँचें।
- पैकेज की रूट डायरेक्टरी से swift package clean चलाकर फिर बिल्ड करें।
- लोकल स्थिति खराब रहे तभी swift package reset चलाएँ।
- साझा कैश की समस्या साबित हो तभी swift package purge-cache चलाएँ।
- सफ़ाई के बाद डिपेंडेंसी और टेस्ट जाँचें।
swift package --help चलाएँ; उपलब्ध सबकमांड इंस्टॉल किए गए Swift वर्शन पर निर्भर हैं।
रिज़ॉल्यूशन फ़ाइलें सुरक्षित रखें
Package.resolved खास वर्शन दर्ज करता है। इसे हटाने से दूसरे अनुमत वर्शन चुने जा सकते हैं और सामान्य सफ़ाई अपडेट में बदल सकती है। Package.swift, Sources, Tests, प्लगइन और लोकल डिपेंडेंसी सोर्स कोड हैं; इन्हें कैश की तरह न हटाएँ।
Xcode को अलग संभालें
केवल Xcode में समस्या हो तो File > Packages > Reset Package Caches और Resolve Package Versions आजमाएँ या उस प्रोजेक्ट का DerivedData हटाएँ। ग्लोबल purge से पहले .build फ़ोल्डर मापें। AskClean श्रेणी पहचानता है, लेकिन Swift कमांड दायरा तय करते हैं।
FAQ
swift package clean क्या हटाता है?
मौजूदा पैकेज के बिल्ड आउटपुट; अगला बिल्ड उन्हें फिर बनाता है।
क्या reset और purge-cache एक जैसे हैं?
नहीं। reset मौजूदा पैकेज पर, purge-cache ग्लोबल रिपॉज़िटरी कैश पर लागू होता है।
क्या Package.resolved हटाना चाहिए?
सामान्य सफ़ाई में नहीं। केवल जानबूझकर नई वर्शन रिज़ॉल्यूशन के लिए हटाएँ।
स्रोत