Tidak dapat menemukan spesifikasi di CocoaPods


87

Saya tidak mengerti mengapa Cocoapod tidak dapat menemukan spesifikasi pod yang saya buat saat saya menjalankannya pod install. Bisakah seseorang membantu saya mengatasi masalah ini?

Saya mendefinisikan subspec di file podspec perpustakaan saya seperti ini:

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

Dependensi ABC ini terdaftar di library Podfile:

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

File Podspec ABC.podspecdi cabang xyz dari myrepo / Podspecs terlihat seperti ini:

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

Kesalahannya adalah [!] Unable to find a specification for ABC (= 1.0.0)

Solusi: impor pod ABC sebelum mengimpor subspec dan tambahkan tag ke podspec.


Apa kesalahan yang Anda terima? Salin dan tempel ke pertanyaan Anda.
Anthony

Kesalahannya adalahUnable to find specification for 'ABC' (=1.0.0)
Gayus Augustus

Jawaban:


22

Dari pada:

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

Tulis ini: Jangan lupa tag ...

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

Kamu harus memberi tahu pod tag mana yang kamu bicarakan. Itu suatu keharusan.
gran33

Cukup, tambahkan tag ke komit terakhir Anda
gran33

1
Saya akan mencobanya. Sayangnya, ini tidak ada dalam dokumentasi Podspec.
Gaius Augustus

Itu tidak menyelesaikan masalah: [!] Unable to find a specification for ABC (= 1.0.0) `
Gaius Augustus

1
Saya memecahkan masalah! Saya harus mengimpor pod ABC sebelum mengimpor subspec.
Gayus Augustus

185

Saya kira ada masalah dengan repo master pod Anda. Hapus dan unduh lagi.

Anda dapat melakukan:

pod repo remove master
pod setup
pod install

Atau:

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

50
Berlari saja sudah pod setupberhasil.
Nagendra Rao

1
Bagi saya, hanya menjalankan garis hapus yang pertama menyelesaikan masalah! Perlu beberapa saat untuk menyiapkan.
sinewave440hz

2
Wow! Ini. Untuk beberapa alasan, repo master Spec saya tidak diatur dengan benar dan saya harus menghapusnya dengan cara ini dan kemudian melakukan pengaturan dan menginstal. Terima kasih untuk ini!
praneetloke

1
'pengaturan pod' memakan waktu cukup lama, tetapi itu yang saya butuhkan (seperti yang disebutkan Rao)
Chris Allinson

4
Mungkin ingin mencoba pod repo update && pod setupdulu - jika repo Anda tidak memiliki spesifikasi, ini mungkin memperbaikinya dan akan lebih cepat daripada mengkloning ulang seluruh repo dari awal.
Eliot

35

Bagi saya itu masalah dengan menemukan spesifikasi, bukan spesifikasi itu sendiri. Saya perlu menambahkan link sumber ke Podfile, lihat dokumentasi Podfile

Cocoapods baru-baru ini menambahkan kebutuhan untuk menautkan ke repo yang menyimpan file spesifikasi pod yang Anda cari, defaultnya adalah:

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

Anda mungkin perlu menambahkan beberapa tautan sumber jika Anda menggunakan pod yang lebih tidak jelas atau buatan sendiri.


1
Ini tidak bisa menjadi persyaratan (setidaknya tidak dengan rilis terbaru), karena saya tidak perlu menambahkan tautan sumber dan setelah mengikuti saran Gastón semuanya bekerja dengan baik.
sinewave440hz

@ sinewave440hz, menambahkan sumber paling sering digunakan saat Anda perlu mengakses .gitrepo pribadi yang tidak standar . Sumber default adalah publik.
ScottyBlades

Saya mengerti, terima kasih (bukan karena saya ingat pernah menulis semua itu, tapi saya yakin itu akan membantu seseorang di suatu tempat: D)
sinewave440hz

7

Pastikan Anda menambahkan

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

di awal Podfile Anda


2
Ini sangat relevan jika Anda ingin menambahkan pod pribadi.
Stan

7

Saya menyelesaikan ini setelah menambahkan

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

ke Podfile. baik. Saya menggunakan repositori lokal sebagai Repo saya. Jadi saya bisa menggunakan ini di file podspec lain

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

iOS_Networking_CPN berada di jalur lokal.


source '/ Users / username / Documents / path / to / iOS_SpecsRepository' berfungsi, apakah Anda tahu mengapa saya harus menggunakan jalur sumber lokal?
gabbler

menurut saya, karena setiap kebutuhan perangkat repositori lokal untuk podspec sebuah
Zippo

7

Bagi saya, ini bekerja seperti pesona.

pod repo remove master
pod setup

Namun, Anda dapat mencoba secara langsung, pod setupseperti yang ditunjukkan beberapa pengguna.



4

Saya mendapatkan kesalahan serupa untuk MGBoxkit

[!] Tidak dapat menemukan spesifikasi untuk MGBoxkit

Dengan mengganti baris berikut

pod 'MGBoxkit'

dengan

pod 'MGBoxKit'

memperbaiki masalah.


Apa bedanya?
Gargo

Typo as k diganti dengan K.
zeeawan

2

Pertama-tama Anda perlu menambahkan Podspec Anda ke repo spesifikasi pribadi; ini memungkinkan CocoaPods menemukan pod ketika Anda mencoba memasangnya.

Masukkan perintah berikut di Terminal, pastikan Anda masih berada di direktori kerangka kerja yang Anda coba tambahkan:

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

1

Saya melewatkan menambahkan ,menyebabkan masalah.

Mengganti,

pod 'PodName' '~> 2.3'

Dengan,

pod 'PodName', '~> 2.3'

Berhasil.


1

Saya memecahkan masalah saya dengan perintah di bawah ini:

pembaruan buah kakao

Untuk memperbarui gunakan perintah ini

sudo gem memasang cocoapods

jika perintah di atas memberikan kesalahan daripada menggunakan yang satu ini

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

dan daripada melakukan ini

pembaruan repo pod


1

Bagi saya, di bawah ini bekerja dengan baik tetapi percobaan pertama dapat berupa perintah "pod setup" langsung Jika tidak berhasil maka gunakan perintah di bawah ini pasti akan membuat sesuatu terjadi.

pod repo hapus master
pod setup
pod install


Bagaimana hal ini berbeda dari @ Gastón-antonio-montes ini jawabannya ?
Leo

1

Ikuti langkah-langkah di bawah ini:

Langkah 0: pod repo update master

Langkah 1: pod install

Dan Anda selesai!


0

memiliki masalah yang sama.

apa yang benar-benar berhasil bagi saya adalah gem uninstall cocoapods(seperti yang disebutkan di atas oleh https://stackoverflow.com/users/4264880/seema-sharma ) di mana saya menemukan bahwa saya telah menginstal 11 (!) versi cocoapod berbeda.

Saya memilih untuk menghapus semua dan kemudian gem install cocoapods:1.4.0

Semuanya baik-baik saja sekarang.



0

Tidak ada jawaban yang membantu saya. Akhirnya saya menemukan bahwa saya memiliki kesalahan ejaan salah ketik untuk salah satu Pod .

Contoh: - Firebaseresulrereres/Analytics. Seharusnya begitu, Firebase/Analyticstetapi tanpa sepengetahuan saya nama pod memiliki ejaan yang salah Firebaseresulrereres/Analytics.

Mengoreksi Nama Pod berhasil bagi saya! . Harganya 1 jam untuk menemukan ini !. Perkembangan terkadang ambigu dan membuat frustasi! :)


0

Saya bekerja di flutter dengan semua repo publik. Saya mendapatkan kesalahan serupa:

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

Untuk beberapa alasan TOCropViewControllerspesifikasi tidak tersedia. Saya mencoba yang berikut ini:

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

Namun spesifikasi plugin masih belum tersedia. Akhirnya, saya menyelesaikannya dengan menghapus master repo pod.

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

Untuk memvalidasi dan mengonfirmasi bahwa plugin ada di sini, saya mencoba grepdi dalam .cocoapods, menggunakan:

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

Dalam ~/.cocoapods/repos/trunk/Specs/3/7/4/TOCropViewController/2.5.2/TOCropViewController.podspec.json

Saya menemukan repo git plugin dan nomor versi yang benar.

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

Setelah itu flutter cleandan flutter runmulai bekerja.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.