जवाबों:
सुनिश्चित करें कि आपके पास CocoaPods का नवीनतम संस्करण स्थापित है। $ pod update PODहाल ही में पेश किया गया था।
अधिक जानकारी के लिए इस समस्या को देखें :
$ फली अद्यतन
जब आप चलाते हैं
pod update SomePodName, तो कोकोआ पॉड्स के अपडेटेड संस्करण को खोजने का प्रयास करेंगे, बिना सूचीबद्ध किए गए संस्करण को ध्यान में रखे बिनाPodfile.lock। यह पॉड को नवीनतम संस्करण में अपडेट करेगा (जब तक यह आपके पॉडफाइल में संस्करण प्रतिबंधों से मेल खाता है)।यदि आप बिना किसी पॉड के नाम के पॉड अपडेट चलाते हैं, तो कोकोआपोड आपके पॉडफाइल में सूचीबद्ध प्रत्येक पॉड को नवीनतम संस्करण में अपडेट करेगा।
$ pod update SomePodName। हालांकि, कुछ मामले हैं जहां कोकोआपोड अन्य पॉड्स की निर्भरता को अपडेट करने का भी प्रयास करेंगे। छोटी कहानी, कुछ पॉडपनाम एकमात्र ऐसी फली नहीं है जो कुछ मामलों में अपडेट हो जाएगी।
pod installइसे चलाता हूं तो यह अपने मूल संस्करण पर वापस लौट आता है। लेकिन मैं अपने बदलावों को खोना नहीं चाहता
pod updateसब कुछ छूता है। यह टिन पर जो कहता है वह नहीं करता है, और यह बहुत निराशाजनक है। अन्य पॉड्स से बेतरतीब ढंग से हेडर निकालता है जिसे आपने स्पर्श करने के लिए नहीं कहा है, आदि
मौजूदा पॉड्स को अपडेट किए बिना एकल पॉड स्थापित करने के लिए-> उस पॉड को अपने पॉडफाइल में जोड़ें और उपयोग करें:
pod install --no-repo-update
एक विशिष्ट पॉड उपयोग को हटाने / अपडेट करने के लिए:
pod update POD_NAME
परीक्षण!
इसलिए क्योंकि pod update SomePodकोकोपॉड्स के नवीनतम संस्करणों में सब कुछ छूता है, मुझे एक वर्कअराउंड मिला।
अगले चरणों का पालन करें:
निकालें SomePodसेPodfile
Daud pod install
पॉड्स अब SomePodहमारे प्रोजेक्ट से और Podfile.lockफाइल से हट जाएंगे ।
वापस रख SomePodमेंPodfile
pod installफिर से दौड़ो
इस बार हमारे पॉड का लेटेस्ट वर्जन इनस्टॉल और सेव होगा Podfile.lock।
pod update somepod anotherpod thirdpodएक साथ कई पॉड्स अपडेट करने के लिए भी कर सकते हैं :)
SomePodइसकी नवीनतम निर्भरता के लिए अद्यतन किया जाता है तो क्या यह नवीनतम की साझा निर्भरता को अद्यतन नहीं करेगा anotherPod? क्या ऐसा नहीं होगा जो पोडलॉक में हो? अन्यथा यह की आवश्यकताओं को पूरा करने में सक्षम नहीं होगाSomePod
बस केह रहा हू:
pod install - नई फली लगाने के लिए,
pod update - मौजूदा पॉड्स को अपडेट करने के लिए,
pod update podName - अन्य फली को छूने के बिना केवल विशिष्ट फली को अद्यतन करने के लिए,
pod update podName versionNum - अन्य पॉड्स को छूने के बिना विशिष्ट पॉड को अपडेट / डाउनलोड करने के लिए
podइसके बजाय आपका मतलब था git?
बस एक छोटा सा नोटिस।
pod update POD_NAME
यह पॉड पहले से स्थापित होने पर ही काम करेगा। अन्यथा आपको उन सभी को अपडेट करना होगा
pod update
आदेश
pod installपहले का उपयोग कर सकते हैं , जो दूसरों को छूने के बिना केवल लापता (एस) को स्थापित करेगा। हालाँकि आपके द्वारा स्थापित नहीं की गई पॉड को अपडेट करने के लिए कोई उपयोग मामला नहीं है, क्या वहाँ है?
टीएल; डॉ। उपयोग:
pod update podName
क्यों? नीचे दिया गया पढ़ें।
pod updateसम्मान नहीं करेंगे podfile.lock। यह इसे ओवरराइड करेगा।pod install सम्मान करेंगे podfile.lockयह आरेख मतभेदों को बेहतर ढंग से समझने में मदद करता है:
बड़ी समस्या ~>उर्फ आशावादी ऑपरेटर की है ।
Podfileपर्याप्त नहीं हैकुछ लोग सोच सकते हैं कि उनके पॉड्स के सटीक संस्करणों को निर्दिष्ट करके Podfile, जैसे pod 'A', '1.0.0', यह गारंटी देने के लिए पर्याप्त है कि प्रत्येक उपयोगकर्ता का टीम के अन्य लोगों के समान संस्करण होगा।
फिर वे pod updateएक नए फली जोड़ते समय भी उपयोग कर सकते हैं , यह सोचकर कि अन्य पॉड्स को अपडेट करने का जोखिम कभी नहीं होगा क्योंकि वे एक विशिष्ट संस्करण में तय किए गए हैं Podfile।
लेकिन वास्तव में, यह गारंटी देने के लिए पर्याप्त नहीं है कि हमारे ऊपर के परिदृश्य में user1 और user2 को हमेशा उनके सभी पॉड्स का सटीक समान संस्करण मिलेगा।
एक विशिष्ट उदाहरण है अगर फली Aमें फली पर निर्भरता है A2- A.podspecजैसा कि घोषित किया गया है dependency 'A2', '~> 3.0'। ऐसे मामले में, 'A', '1.0.0'अपने पॉडफाइल में पॉड का उपयोग करना वास्तव में user1 और user2 दोनों को हमेशा पॉड ए के संस्करण 1.0.0 का उपयोग करने के लिए मजबूर करेगा, लेकिन:
A2संस्करण में पॉड के साथ समाप्त हो सकता है 3.4(क्योंकि A2उस समय का नवीनतम संस्करण था)pod installबाद में प्रोजेक्ट में शामिल होने के दौरान चलाता है , तो उन्हें A2संस्करण में पॉड मिल सकता है 3.5(क्योंकि A2संभव है कि अनुचर इस बीच एक नया संस्करण जारी कर सकता है)। इसीलिए प्रत्येक टीम के सदस्य को प्रत्येक कंप्यूटर के सभी पॉड के समान संस्करणों के साथ काम करना सुनिश्चित करने का एक ही तरीका है, Podfile.lockऔर उचित रूप से pod installबनाम का उपयोग करना pod update।उपर्युक्त अंश पॉड इन्स्टॉल बनाम पॉड अपडेट से लिया गया था
मैं यह देखने की भी अत्यधिक सलाह देता हूं कि क्या करता podfile.lockहै
मैं पूरी तरह से काम कर रहा हूं cocoapods version 1.0.1और उपयोग कर रहा हूं pod update name-of-pod। कोई अन्य पॉड्स अपडेट नहीं किए जाते हैं, बस आपके द्वारा दर्ज किया गया विशिष्ट।
यह एक हद तक थोड़ा सा है और ओपी के साथ जो व्यवहार किया गया था, वह होने की संभावना नहीं है, लेकिन pod update <podname> सभी मामलों में काम नहीं करेगा यदि आप अपने कंप्यूटर पर स्थानीय पॉड का उपयोग कर रहे हैं।
इस स्थिति में, केवल एक चीज जो pod updateकाम करने के लिए ट्रिगर होगी यदि पॉडस्पेक फ़ाइल में कोई परिवर्तन हो। हालांकि, एक बदलाव करने की भी अनुमति होगीpod install काम करने की ।
इस स्थिति में, आप केवल एक अक्षर द्वारा विवरण या सारांश जैसे कुछ मामूली को संशोधित कर सकते हैं, और फिर आप इंस्टॉल या अपडेट कमांड को सफलतापूर्वक चला सकते हैं।
podfile.lockहै। लिंक और वीडियो देखें जो इसे संदर्भित करता है।