CocoaPods में एक विनिर्देश खोजने में असमर्थ


85

मुझे समझ में नहीं आ रहा है कि जब मैं चलाता हूं तो कोकोपॉड मेरे द्वारा बनाए गए फली विनिर्देशन को खोजने में असमर्थ है pod install। क्या कोई मुझे इस मुसीबत को हल करने में मदद कर सकता है?

मैं अपनी लाइब्रेरी पॉडस्पेक फ़ाइल में इस तरह एक सबस्पेक को परिभाषित कर रहा हूं:

s.subspec 'mysubspec' do |c|
  c.dependency 'ABC','1.0.0'
end 

यह निर्भरता एबीसी पुस्तकालय पॉडफाइल में सूचीबद्ध है:

pod 'ABC', :git => 'git@github.com:myrepo/Podspecs.git', :branch => 'xyz'

ABC.podspecMyrepo / Podspecs की शाखा xyz में पॉडस्पेक फ़ाइल इस प्रकार है:

Pod::Spec.new do |s|
  s.name         = "ABC"
  s.version      = "1.0.0"
  s.source       = { :git => "git@github.com:myrepo/Podspecs.git", :branch => "xyz" }
end

त्रुटि है [!] Unable to find a specification for ABC (= 1.0.0)

समाधान: सबस्पेक आयात करने से पहले पॉड एबीसी आयात करें और पॉडसेक में टैग जोड़ें।


आपको प्राप्त होने वाली त्रुटि क्या है? इसे अपने प्रश्न में कॉपी और पेस्ट करें।
एंथनी

त्रुटि हैUnable to find specification for 'ABC' (=1.0.0)
गयस ऑगस्टस

जवाबों:


20

के बजाय:

s.source       = { :git => "git@github.com:myrepo/Podspecs.git", :branch => "xyz" }

इसे लिखें: टैग को न भूलें ...

s.source       = { :git => "https://github.com/myrepo/Podspecs.git", :branch => "xyz",
                   :tag => s.version.to_s }

यू पॉड को बताना है कि कौन सी टैग आरयू टॉकिंग कर रही है। यह बहुत जरूरी है।
ग्रान 33

सीधे शब्दों में, अपनी अंतिम प्रतिबद्ध में टैग जोड़ें
ग्रैन 33

1
मैं इसे आजमाऊंगा। दुर्भाग्य से, यह Podspec प्रलेखन में नहीं है।
गयस अगस्तस

यह समस्या हल नहीं हुई: [!] Unable to find a specification for एबीसी (= 1.0.0) `
गयुस ऑगस्टस

1
मैंने समस्या हल कर दी! मुझे सबस्पेक आयात करने से पहले पॉड एबीसी आयात करना होगा।
जायस ऑगस्टस

184

मुझे लगता है कि आपके पॉड मास्टर रेपो के साथ एक समस्या है। इसे हटा दें और फिर से डाउनलोड करें।

तुम कर सकते हो:

pod repo remove master
pod setup
pod install

या:

sudo rm -fr ~/.cocoapods/repos/master
pod setup
pod install

50
बस दौड़ने pod setupसे काम चल गया।
नागेंद्र राव

1
मेरे लिए, केवल रिमूव लाइन चलाने से समस्या हल हो गई! हालांकि सेटअप करने में थोड़ा समय लगा।
sinewave440hz

2
वाह! यह। किसी कारण से मेरे स्पेक मास्टर रेपो को सही ढंग से सेटअप नहीं किया गया था और मुझे इसे इस तरह हटाना पड़ा और फिर सेटअप और इंस्टॉल किया। इसके लिए धन्यवाद!
प्रणीतालोके

1
'पॉड सेटअप' में काफी समय लगा, लेकिन मुझे जो कुछ चाहिए था (जैसा कि राव ने उल्लेख किया है)
क्रिस एलिन्सन

3
pod repo update && pod setupपहले कोशिश करना चाहते हो सकता है - अगर आपका रेपो सिर्फ लापता चश्मा है तो यह इसे ठीक कर सकता है और खरोंच से पूरे रेपो को फिर से क्लोन करने से तेज होगा।
एलियट

35

मेरे लिए यह युक्ति खोजने के साथ एक मुद्दा था, स्वयं युक्ति नहीं। मुझे पॉडफाइल के लिए एक स्रोत लिंक जोड़ने की जरूरत है, पॉडफाइल प्रलेखन देखें

कोकोपोड्स ने हाल ही में उस रेपो से लिंक करने की आवश्यकता को जोड़ा है जो आपके द्वारा खोजे जा रहे पॉड स्पेक फ़ाइल को रखता है: डिफ़ॉल्ट है:

source 'https://github.com/CocoaPods/Specs.git'

यदि आप अधिक अस्पष्ट या घर का बना फली का उपयोग कर रहे हैं तो आपको कई स्रोत लिंक जोड़ने की आवश्यकता हो सकती है।


1
यह एक आवश्यकता नहीं हो सकती है (कम से कम नवीनतम रिलीज के साथ नहीं), क्योंकि मुझे स्रोत लिंक जोड़ने की आवश्यकता नहीं है और गैस्टोन के सुझाव का पालन करने के बाद सब ठीक हो गया।
sinewave440hz

@ sinewave440hz, स्रोत को जोड़ने का सबसे अधिक उपयोग तब किया जाता है जब आपको एक गैरमानक निजी .gitरेपो तक पहुँचने की आवश्यकता होती है । डिफ़ॉल्ट स्रोत सार्वजनिक है।
स्कॉट्टीब्लाड्स

मैं देख रहा हूँ, धन्यवाद (यह नहीं कि मुझे इसमें से कोई भी लिखना याद है, लेकिन मुझे यकीन है कि यह कहीं न कहीं किसी की मदद करेगा: D)
sinewave440hz

7

मैं इसे जोड़ने के बाद हल करता हूं

source '/Users/username/Documents/path/to/iOS_SpecsRepository'
source 'https://github.com/CocoaPods/Specs.git'

पोडफाइल को। अच्छी तरह से। मैं अपने रेपो के रूप में एक स्थानीय भंडार का इस्तेमाल किया। इसलिए मैं इसे किसी अन्य पॉडस्पेक फ़ाइल में उपयोगकर्ता कर सकता हूं

s.dependency 'iOS_Networking_CPN', '~> 0.1.1'

iOS_Networking_CPN स्थानीय पथ में है।


source '/ Users / username / Documents / path / to / iOS_SpecsRepository' ने काम किया, क्या आप जानते हैं कि मुझे स्थानीय स्रोत पथ का उपयोग क्यों करना है?
gabbler

मेरी राय में, क्योंकि हर डिवाइस की जरूरत एक podspec के लिए एक स्थानीय भंडार
Zippo

7

मेरे साथ, यह एक आकर्षण की तरह काम किया।

pod repo remove master
pod setup

हालाँकि, आप सीधे कोशिश कर सकते हैं, pod setupजैसा कि कुछ उपयोगकर्ताओं ने बताया है।


6

सुनिश्चित करें कि आपने जोड़ा है

source 'https://github.com/CocoaPods/Specs.git'

अपने पॉडफाइल की शुरुआत में


2
यह विशेष रूप से प्रासंगिक है यदि आप एक निजी पॉड जोड़ना चाहते हैं।
स्टेन


4

मुझे MGBoxkit के लिए समान त्रुटि मिल रही थी

[!] के लिए एक विनिर्देश खोजने में असमर्थ MGBoxkit

निम्नलिखित पंक्ति को प्रतिस्थापित करके

pod 'MGBoxkit'

साथ में

pod 'MGBoxKit'

मुद्दा तय किया।


अंतर क्या है?
गार्गो जूल

कश्मीर के रूप में टाइपो लालकृष्ण साथ बदल दिया गया था
zeeawan

2

आपको पहले अपने पॉडसेप को एक निजी चश्मा रेपो में जोड़ना होगा; जब आप इसे स्थापित करने का प्रयास करते हैं तो कोकोआ पॉड्स को ढूंढता है।

टर्मिनल में निम्नलिखित दर्ज करें, सुनिश्चित करें कि आप अभी भी उस फ्रेमवर्क निर्देशिका में हैं जिसे आप जोड़ने की कोशिश कर रहे हैं:

pod repo add [your framework name] [Your framework Git URL]
pod repo push [your framework name] [your framework .podspec file name]


1

मैंने नीचे दिए गए आदेश के साथ अपनी समस्या हल की:

कोको फली अद्यतन

अद्यतन करने के लिए इस आदेश का उपयोग करें

सुडो रत्न कोकापोड्स स्थापित करें

यदि उपरोक्त कमांड इस एक का उपयोग करने की तुलना में त्रुटि देता है

sudo gem install -n / usr / स्थानीय / बिन कोकोपोड्स

और ऐसा करने से

पॉड रेपो अपडेट


1

मेरे लिए, नीचे अच्छी तरह से काम किया गया था, लेकिन पहले "पॉड सेटअप" कमांड को सीधा करने की कोशिश की जा सकती है यदि वह काम नहीं करता है तो नीचे दिए गए कमांड के लिए जाएं निश्चित रूप से चीजें घटित होंगी।

फली रेपो हटाने मास्टर
पॉड सेटअप
पॉड स्थापित करें


यह @ गैस्टोन-एंटोनियो-मोंटेस के उत्तर से कैसे भिन्न होता है ?
सिंह

1

नीचे दिए गए चरणों का पालन करें:

चरण ०: pod repo update master

चरण 1: pod install

और आप कर रहे हैं!


0

एक ही समस्या थी।

मेरे लिए वास्तव में जो काम किया गया था gem uninstall cocoapods(जैसा कि ऊपर उल्लेख किया गया है https://stackoverflow.com/users/4264880/seema-sharma ) जहां मैंने पाया कि मेरे पास 11 (!) अलग-अलग कोकोपोड संस्करण स्थापित थे।

मैंने सभी को अनइंस्टॉल करने के लिए चुना और फिर gem install cocoapods:1.4.0

अभी सब अच्छा है।



0

किसी भी उत्तर ने मेरी मदद नहीं की। अंततः मुझे पता चला कि मुझे पॉड्स में से एक के लिए टाइपो वर्तनी की गलती थी ।

Ex: - Firebaseresulrereres/Analytics। यह होना चाहिए था, Firebase/Analyticsलेकिन मेरी जानकारी के बिना फली नाम की गलत वर्तनी थी Firebaseresulrereres/Analytics

पोड नाम को ठीक करते हुए मेरे लिए चाल चली! । हालांकि यह खोजने में मुझे 1 घंटे का समय लगा। विकास अस्पष्ट और निराशाजनक हो सकता है! :)


0

मैं सभी सार्वजनिक रेपो के साथ काम कर रहा था। मुझे एक समान त्रुटि मिल रही थी:

Unable to find a specification for `TOCropViewController (~> 2.5.2)` depended upon by `image_cropper`

किसी कारण के लिए TOCropViewControllerविनिर्देश अनुपलब्ध था। मैंने निम्नलिखित कोशिश की:

flutter clean
rm -Rf ios/Pods
rm -Rf ios/.symlinks
rm -Rf ios/Flutter/Flutter.framework
rm -Rf ios/Flutter/Flutter.podspec
rm ios/Podfile
flutter run

लेकिन प्लगइन विनिर्देश अभी भी अनुपलब्ध था। अंत में, मैंने फली के रेपो मास्टर को हटाकर इसे हल किया।

pod repo remove master
sudo rm -rf ~/.cocoapods/repos
pod setup
pod install

यह सत्यापित करने और पुष्टि करने के लिए कि प्लगइन यहाँ है, मैंने grepअंदर .cocoapodsका उपयोग करके कोशिश की :

 grep -r "TOCropViewController" -n ~/.cocoapods

के भीतर ~/.cocoapods/repos/trunk/Specs/3/7/4/TOCropViewController/2.5.2/TOCropViewController.podspec.json

मुझे प्लगइन का git रेपो और सही वर्जन नंबर मिला।

  "source": {
    "git": "https://github.com/TimOliver/TOCropViewController.git",
    "tag": "2.5.2"
  },

उसके बाद flutter cleanऔर flutter runकाम करना शुरू कर दिया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.