ไม่พบข้อมูลจำเพาะใน CocoaPods


87

ฉันไม่สามารถเข้าใจว่าทำไม Cocoapod pod installไม่สามารถหาสเปฝักที่ผมสร้างขึ้นเมื่อผมทำงาน มีใครช่วยฉันแก้ปัญหานี้ได้ไหม

ฉันกำลังกำหนด subspec ในไฟล์ podspec ไลบรารีของฉันดังนี้:

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

อ้างอิง ABC นี้แสดงอยู่ในไลบรารี Podfile:

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

ไฟล์ Podspec ABC.podspecในสาขา xyz ของ myrepo / Podspecs มีลักษณะดังนี้:

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)

วิธีแก้ไข: นำเข้าพ็อด ABC ก่อนนำเข้าสเปคย่อยและเพิ่มแท็กไปยัง podspec


ข้อผิดพลาดที่คุณได้รับคืออะไร? คัดลอกและวางลงในคำถามของคุณ
Anthony

ข้อผิดพลาดคือUnable to find specification for 'ABC' (=1.0.0)
Gaius Augustus

คำตอบ:


22

แทน:

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 }

คุณต้องบอกพ็อดที่แท็ก ru พูดถึง มันต้อง.
gran33

เพียงแค่เพิ่มแท็กในคอมมิตครั้งสุดท้ายของคุณ
gran33

1
ฉันจะลองดู น่าเสียดายที่ไม่มีอยู่ในเอกสาร Podspec
Gaius Augustus

ไม่สามารถแก้ปัญหาได้: [!] Unable to find a specification for ABC (= 1.0.0) `
Gaius Augustus

1
ฉันแก้ปัญหาได้แล้ว! ฉันต้องนำเข้าพ็อด ABC ก่อนที่จะนำเข้าสเปคย่อย
Gaius Augustus

185

ฉันคิดว่ามีปัญหากับ repo pod master ของคุณ ลบและดาวน์โหลดอีกครั้ง

คุณทำได้:

pod repo remove master
pod setup
pod install

หรือ:

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

50
แค่วิ่งpod setupก็ทำงานแล้ว
Nagendra Rao

1
สำหรับฉันการเรียกใช้บรรทัดการลบก่อนเท่านั้นที่จะแก้ปัญหาได้! ใช้เวลาสักครู่ในการตั้งค่าแม้ว่า
sinewave440hz

2
ว้าว! นี้. ด้วยเหตุผลบางประการ repo ต้นแบบ Spec ของฉันไม่ได้ตั้งค่าอย่างถูกต้องและฉันต้องลบออกด้วยวิธีนี้จากนั้นทำการตั้งค่าและติดตั้ง ขอบคุณสำหรับสิ่งนี้!
praneetloke

1
'การตั้งค่าพ็อด' ใช้เวลาพอสมควร แต่ฉันต้องการทั้งหมด (ตามที่ Rao กล่าวถึง)
Chris Allinson

4
อาจต้องการลองpod repo update && pod setupก่อน - หาก repo ของคุณขาดข้อมูลจำเพาะสิ่งนี้อาจแก้ไขได้และจะเร็วกว่าการโคลน repo ใหม่ทั้งหมดตั้งแต่เริ่มต้น
Eliot

35

สำหรับฉันมันเป็นปัญหาในการหาข้อมูลจำเพาะไม่ใช่สเป็คตัวเอง ฉันต้องการเพิ่มลิงก์ซอร์สไปยัง Podfile โปรดดูเอกสาร Podfile

เมื่อเร็ว ๆ นี้ Cocoapods ได้เพิ่มความต้องการในการเชื่อมโยงไปยัง repo ที่เก็บไฟล์ข้อมูลจำเพาะของพ็อดที่คุณกำลังมองหาค่าเริ่มต้นคือ:

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

คุณอาจต้องเพิ่มลิงก์แหล่งที่มาหลายรายการหากคุณใช้พ็อดที่คลุมเครือหรือโฮมเมดมากขึ้น


1
นี่ไม่ใช่ข้อกำหนด (อย่างน้อยก็ไม่ใช่กับรุ่นล่าสุด) เพราะฉันไม่จำเป็นต้องเพิ่มลิงก์ซอร์สและหลังจากทำตามคำแนะนำของGastónทุกอย่างก็ใช้ได้ดี
sinewave440hz

@ sinewave440hz เพิ่มแหล่งที่มาส่วนใหญ่มักจะใช้เมื่อคุณจำเป็นต้องเข้าถึงส่วนตัวที่ไม่เป็นมาตรฐาน.gitrepo แหล่งที่มาเริ่มต้นเป็นสาธารณะ
ScottyBlades

ฉันเข้าใจแล้วขอบคุณ (ไม่ใช่ว่าฉันจำได้ว่าเขียนสิ่งนั้น แต่ฉันแน่ใจว่ามันจะช่วยใครบางคนได้: D)
sinewave440hz

7

ตรวจสอบว่าคุณได้เพิ่มแล้ว

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

ที่จุดเริ่มต้นของ Podfile ของคุณ


2
สิ่งนี้เกี่ยวข้องอย่างยิ่งหากคุณต้องการเพิ่มพ็อดส่วนตัว
สแตน

7

ฉันแก้ไขปัญหานี้หลังจากเพิ่ม

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

ไปยัง Podfile ฉันใช้ที่เก็บในเครื่องเป็น Repo ของฉัน ดังนั้นฉันสามารถใช้สิ่งนี้ในไฟล์ podspec อื่นได้

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

iOS_Networking_CPN อยู่ในเส้นทางท้องถิ่น


ซอร์ส '/ Users / ชื่อผู้ใช้ / Documents / path / to / iOS_SpecsRepository' ใช้งานได้คุณรู้ไหมว่าทำไมฉันต้องใช้โลคัลซอร์สพา ธ
gabbler

ในความคิดของฉันเพราะอุปกรณ์ทุกเครื่องต้องการพื้นที่เก็บข้อมูลในเครื่องสำหรับ podspec
zippo

7

กับฉันสิ่งนี้ได้ผลเหมือนมีเสน่ห์

pod repo remove master
pod setup

อย่างไรก็ตามคุณอาจลองโดยตรงpod setupตามที่ผู้ใช้บางคนชี้



4

ฉันได้รับข้อผิดพลาดที่คล้ายกันสำหรับMGBoxkit

[!] ไม่พบข้อมูลจำเพาะสำหรับ MGBoxkit

โดยแทนที่บรรทัดต่อไปนี้

pod 'MGBoxkit'

ด้วย

pod 'MGBoxKit'

แก้ไขปัญหา


อะไรคือความแตกต่าง?
Gargo

พิมพ์ผิดเป็น k ถูกแทนที่ด้วย K.
zeeawan

2

ก่อนอื่นคุณต้องเพิ่ม Podspec ของคุณไปยัง repo ข้อมูลจำเพาะส่วนตัว สิ่งนี้ช่วยให้ CocoaPods ค้นหาพ็อดเมื่อคุณพยายามติดตั้ง

ป้อนสิ่งต่อไปนี้ใน Terminal ตรวจสอบให้แน่ใจว่าคุณยังอยู่ในไดเรกทอรีกรอบงานที่คุณพยายามเพิ่ม:

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

1

ฉันไม่ได้เพิ่ม,ปัญหาที่ทำให้เกิด

การเปลี่ยน

pod 'PodName' '~> 2.3'

ด้วย

pod 'PodName', '~> 2.3'

ได้งาน


1

ฉันแก้ไขปัญหาด้วยคำสั่งด้านล่าง:

อัปเดตฝักโกโก้

หากต้องการอัปเดตให้ใช้คำสั่งนี้

sudo gem ติดตั้ง cocoapods

หากคำสั่งด้านบนให้ข้อผิดพลาดมากกว่าใช้คำสั่งนี้

sudo gem install -n / usr / local / bin cocoapods

และกว่าจะทำเช่นนี้

อัปเดต pod repo


1

สำหรับฉันด้านล่างใช้งานได้ดี แต่ครั้งแรกลองอาจเป็นคำสั่ง "pod setup" โดยตรงหากไม่ได้ผลให้ไปที่คำสั่งด้านล่างจะทำให้สิ่งต่างๆเกิดขึ้นอย่างแน่นอน

pod repo ลบ master
pod setup
pod install


สิ่งนี้แตกต่างจากคำตอบของ@gastón-antonio-montes อย่างไร?
ลีโอ

1

ทำตามขั้นตอนด้านล่าง:

ขั้นตอนที่ 0: pod repo update master

ขั้นตอนที่ 1: pod install

และคุณทำเสร็จแล้ว!


0

มีปัญหาเดียวกัน

สิ่งที่ได้ผลจริงๆสำหรับฉันคือgem uninstall cocoapods(ตามที่กล่าวไว้ข้างต้นโดยhttps://stackoverflow.com/users/4264880/seema-sharma ) ซึ่งฉันพบว่าฉันติดตั้ง cocoapods เวอร์ชันต่างๆ 11 (!)

ฉันเลือกที่จะถอนการติดตั้งทั้งหมดแล้ว gem install cocoapods:1.4.0

ตอนนี้ดีทั้งหมด



0

ไม่มีคำตอบใดช่วยฉัน ในที่สุดฉันก็พบว่าฉันมีข้อผิดพลาดในการสะกดคำผิดสำหรับหนึ่งในพ็อดความผิดพลาดพิมพ์ผิดสะกดคำหนึ่งในฝัก

เช่น - Firebaseresulrereres/Analytics. มันควรจะเป็นFirebase/Analyticsแต่โดยที่ฉันไม่รู้ว่าชื่อพ็อดมีการสะกดผิดเช่นFirebaseresulrereres/Analyticsแต่ไม่มีความรู้ของฉันชื่อฝักมีการสะกดผิดเช่น

การแก้ไขชื่อ Pod เป็นเคล็ดลับสำหรับฉัน! . ฉันต้องใช้เวลา 1 ชั่วโมงในการค้นหาสิ่งนี้!. การพัฒนาอาจคลุมเครือและน่าหงุดหงิดในบางครั้ง! :)


0

ฉันทำงานอย่างกระพือปีกกับ repos สาธารณะทั้งหมด ฉันได้รับข้อผิดพลาดที่คล้ายกัน:

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

แต่ข้อกำหนดของปลั๊กอินยังไม่พร้อมใช้งาน ในที่สุดฉันก็แก้ไขได้โดยการลบ repo master ของพ็อด

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 repo ของปลั๊กอินและหมายเลขเวอร์ชันที่ถูกต้อง

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

หลังจากนั้นflutter cleanและflutter runเริ่มทำงาน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.