CocoaPods'da bir özellik bulunamıyor


87

Cocoapod'un çalıştırdığımda oluşturduğum kapsül spesifikasyonunu neden bulamadığını anlayamıyorum pod install. Birisi bu sorunu çözmeme yardım edebilir mi?

Kitaplık podspec dosyamda şu şekilde bir alt tür tanımlıyorum:

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

Bu bağımlılık ABC, Podfile kitaplığında listelenmiştir:

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

ABC.podspecMyrepo / Podspecs'in xyz dalındaki Podspec dosyası şu şekilde görünür:

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

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

Çözüm: Alt türü içe aktarmadan önce ABC bölmesini içe aktarın ve etiketi podspec'e ekleyin.


Aldığınız hata nedir? Bunu kopyalayıp sorunuza yapıştırın.
Anthony

HataUnable to find specification for 'ABC' (=1.0.0)
Gaius Augustus

Yanıtlar:


22

Onun yerine:

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

Şunu yazın: Etiketi unutmayın ...

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

Hangi etiketin konuştuğunu bölmeye söylemelisin Bu bir zorunluluktur.
gran33

Basitçe, son kaydetmenize etiket ekleyin
gran33

1
Deneyeceğim. Maalesef, Podspec belgelerinde yok.
Gaius Augustus

Sorunu çözmedi: [!] Unable to find a specification for ABC (= 1.0.0) `
Gaius Augustus

1
Sorunu çözdüm! Alt türü içe aktarmadan önce ABC bölmesini içe aktarmam gerekiyor.
Gaius Augustus

185

Sanırım pod ana deponuzla ilgili bir sorun var. Silin ve tekrar indirin.

Yapabilirsin:

pod repo remove master
pod setup
pod install

Veya:

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

50
Sadece koşmak pod setupişi yaptı.
Nagendra Rao

1
Benim için yalnızca kaldırma satırını çalıştırmak sorunu çözdü! Yine de kurulum biraz zaman aldı.
sinewave440hz

2
Vaov! Bu. Bazı nedenlerden dolayı Spec ana depom doğru kurulmamıştı ve bu şekilde kaldırmam ve ardından kurulumunu yapıp yüklemem gerekti. Bunun için teşekkürler!
praneetloke

1
'pod kurulumu' oldukça uzun sürdü, ama tek ihtiyacım olan
buydu

4
pod repo update && pod setupİlk önce denemek isteyebilirsiniz - eğer deponuzda sadece özellikler eksikse, bu onu düzeltebilir ve tüm depoyu sıfırdan yeniden klonlamaktan daha hızlı olacaktır.
Eliot

35

Benim için bu, spesifikasyonun kendisi değil, spesifikasyonu bulmakla ilgili bir sorundu. Pod dosyasına bir kaynak bağlantısı eklemem gerekiyordu, Podfile belgelerine bakın

Cocoapods kısa süre önce aradığınız pod spec dosyasını tutan depoya bağlantı ihtiyacını ekledi, varsayılan değer:

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

Daha belirsiz veya ev yapımı bölmeler kullanıyorsanız, birden çok kaynak bağlantısı eklemeniz gerekebilir.


1
Bu bir gereklilik olamaz (en azından en son sürümde değil), çünkü kaynak bağlantılarını eklememe gerek kalmadı ve Gastón'un önerisini izledikten sonra her şey yolunda gitti.
sinewave440hz

@ sinewave440hz, kaynağın eklenmesi genellikle standart olmayan bir özel .gitdepoya erişmeniz gerektiğinde kullanılır . Varsayılan kaynak geneldir.
ScottyBlades

Anlıyorum, teşekkürler (bunlardan herhangi birini yazdığımı hatırlamıyorum, ama bir yerde birine yardımcı olacağına eminim: D)
sinewave440hz

7

Eklediğinizden emin olun

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

Podfile'nizin en başında


2
Özel bir bölme eklemek istiyorsanız bu özellikle önemlidir.
Stan

7

Bunu ekledikten sonra çözerim

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

Podfile'a. Repo olarak yerel bir depo kullandım. Böylece bunu başka bir podspec dosyasında kullanabilirim

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

iOS_Networking_CPN yerel yoldadır.


kaynak '/ Kullanıcılar / kullanıcı adı / Belgeler / yol / / iOS_SpecsRepository' çalıştı, neden yerel bir kaynak yolu kullanmam gerektiğini biliyor musunuz?
gabbler

bence, çünkü her cihaz bir podspec için yerel bir depoya ihtiyaç duyar
zippo

7

Benim için bu harika çalıştı.

pod repo remove master
pod setup

Ancak, pod setupbazı kullanıcıların işaret ettiği gibi , doğrudan deneyebilirsiniz .


5

Cocoapod'lar için ana depoyu güncelleyin.

`pod repo update master`

4

MGBoxkit için benzer bir hata alıyordum

[!] İçin bir özellik bulunamıyor MGBoxkit

Aşağıdaki satırı değiştirerek

pod 'MGBoxkit'

ile

pod 'MGBoxKit'

sorunu çözdü.


fark ne?
Gargo

Typo as k yerine K. geldi
zeeawan

2

Öncelikle Podspec'inizi özel bir özellik deposuna eklemeniz gerekir; bu, CocoaPod'ların, onu kurmaya çalıştığınızda bölmeyi bulmasını sağlar.

Eklemeye çalıştığınız çerçeve dizininde olduğunuzdan emin olarak Terminal'e aşağıdakileri girin:

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

1

,Soruna neden olan eklemeyi kaçırdım .

Değiştirme,

pod 'PodName' '~> 2.3'

İle,

pod 'PodName', '~> 2.3'

İş yaptım.


1

Sorunumu aşağıdaki komutla çözdüm:

kakao kapsülü güncellemesi

Güncellemek için bu komutu kullanın

sudo gem cocoapod'ları yükle

yukarıdaki komut bunu kullanmaktan daha fazla hata veriyorsa

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

ve sonra bunu yap

pod repo güncellemesi


1

Benim için, aşağıdakiler iyi çalıştı ancak ilk deneme doğrudan "pod kurulumu" komutu olabilir. Bu işe yaramazsa, aşağıdaki komutlara gidin, kesinlikle işlerin olmasını sağlayacaktır.

bölme deposu ana
bölmeyi kaldırma kurulum
bölmesi yükleme


Bu nasıl @ Gastón-antonio-Montes en farkı nedir cevap ?
Leo

1

Aşağıdaki adımları izleyin:

Adım 0: pod repo update master

Aşama 1: pod install

Ve bitirdiniz!


0

aynı sorunu yaşadı.

benim için gerçekten işe yarayan şey gem uninstall cocoapods(yukarıda https://stackoverflow.com/users/4264880/seema-sharma tarafından belirtildiği gibi ) 11 (!) farklı cocoapod sürümünün kurulu olduğunu bulduğum yerdi.

Tümünü kaldırmayı seçtim ve sonra gem install cocoapods:1.4.0

Şimdi her şey yolunda.



0

Cevapların hiçbiri bana yardımcı olmadı. Sonunda , Bölmelerden birinde yazım hatası yaptığımı anladım .

Ör: - Firebaseresulrereres/Analytics. Öyle olması gerekiyordu Firebase/Analyticsama benim bilgim olmadan kapsül adının yanlış yazımı vardı Firebaseresulrereres/Analytics.

Bölme Adını düzeltmek işimi yaptı! . Yine de bunu bulmak bana 1 saate mal oldu! Gelişim bazen belirsiz ve sinir bozucu olabilir! :)


0

Tüm halka açık depolarla flutter içinde çalışıyordum. Benzer bir hata alıyordum:

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

Bazı nedenlerden dolayı TOCropViewControllerşartname mevcut değildi. Aşağıdakileri denedim:

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

Ancak eklenti özelliği hala mevcut değildi. Son olarak, pod repo master'ını kaldırarak çözdüm.

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

Eklentinin burada olduğunu doğrulamak ve onaylamak için grepiçeride şunu .cocoapodskullanarak denedim :

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

İçeride ~/.cocoapods/repos/trunk/Specs/3/7/4/TOCropViewController/2.5.2/TOCropViewController.podspec.json

Eklentinin git deposunu ve doğru sürüm numarasını buldum.

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

Bundan sonra flutter cleanve flutter runçalışmaya başladım.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.