Nie mogę zrozumieć, dlaczego Cocoapod nie może znaleźć specyfikacji poda, którą utworzyłem podczas uruchamiania pod install
. Czy ktoś mógłby mi pomóc rozwiązać ten problem?
Definiuję podgrupę w moim pliku podspec biblioteki w następujący sposób:
s.subspec 'mysubspec' do |c|
c.dependency 'ABC','1.0.0'
end
Ta zależność ABC jest wymieniona w bibliotece Podfile:
pod 'ABC', :git => '[email protected]:myrepo/Podspecs.git', :branch => 'xyz'
Plik Podspec ABC.podspec
w gałęzi xyz myrepo / Podspecs wygląda następująco:
Pod::Spec.new do |s|
s.name = "ABC"
s.version = "1.0.0"
s.source = { :git => "[email protected]:myrepo/Podspecs.git", :branch => "xyz" }
end
Błąd jest [!] Unable to find a specification for ABC (= 1.0.0)
Rozwiązanie: zaimportuj pod specyfikację ABC przed zaimportowaniem podgrupy i dodaj tag do specyfikacji podrzędnej.
ios
objective-c
ruby
cocoapods
Gaius Augustus
źródło
źródło
Unable to find specification for 'ABC' (=1.0.0)
Odpowiedzi:
Zamiast:
s.source = { :git => "[email protected]:myrepo/Podspecs.git", :branch => "xyz" }
Napisz to: Nie zapomnij tagu ...
s.source = { :git => "https://github.com/myrepo/Podspecs.git", :branch => "xyz", :tag => s.version.to_s }
źródło
[!] Unable to find a specification for
ABC (= 1.0.0) `Przypuszczam, że wystąpił problem z twoim repozytorium pod master. Usuń go i pobierz ponownie.
Możesz to zrobić:
pod repo remove master pod setup pod install
Lub:
sudo rm -fr ~/.cocoapods/repos/master pod setup pod install
źródło
pod setup
.pod repo update && pod setup
najpierw - jeśli w repozytorium brakuje tylko specyfikacji, może to naprawić i będzie szybsze niż ponowne klonowanie całego repozytorium od zera.Dla mnie był to problem ze znalezieniem specyfikacji, a nie samej specyfikacji. Musiałem dodać łącze źródłowe do pliku Podfile, zobacz dokumentację Podfile
Cocoapods niedawno dodała potrzebę linkowania do repozytorium, które przechowuje plik specyfikacji pod, którego szukasz, domyślnie:
source 'https://github.com/CocoaPods/Specs.git'
Może być konieczne dodanie wielu linków źródłowych, jeśli używasz mniej znanych lub domowych strąków.
źródło
.git
repozytorium. Domyślnym źródłem jest publiczne.Rozwiązuję to po dodaniu
source '/Users/username/Documents/path/to/iOS_SpecsRepository' source 'https://github.com/CocoaPods/Specs.git'
do Podfile. cóż. jako mojego repozytorium użyłem lokalnego repozytorium. Więc mogę użyć tego w innym pliku podspec
s.dependency 'iOS_Networking_CPN', '~> 0.1.1'
iOS_Networking_CPN
znajduje się na ścieżce lokalnej.źródło
U mnie to zadziałało jak urok.
pod repo remove master pod setup
Możesz jednak spróbować bezpośrednio,
pod setup
jak wskazywali niektórzy użytkownicy.źródło
Upewnij się, że dodałeś
source 'https://github.com/CocoaPods/Specs.git'
na samym początku pliku Podfile
źródło
Zaktualizuj repozytorium główne dla cocoapods.
`pod repo update master`
źródło
Otrzymałem podobny błąd dla MGBoxkit
Zastępując następujący wiersz
pod 'MGBoxkit'
z
pod 'MGBoxKit'
naprawiono problem.
źródło
Najpierw musisz dodać swój Podspec do prywatnego repozytorium specyfikacji; pozwala to CocoaPods znaleźć kapsułę podczas próby jej zainstalowania.
Wprowadź następujące informacje w Terminalu, upewniając się, że nadal znajdujesz się w katalogu struktury, który próbujesz dodać:
pod repo add [your framework name] [Your framework Git URL] pod repo push [your framework name] [your framework .podspec file name]
źródło
Brakowało mi dodania
,
powodującego problemu.Wymiana,
pod 'PodName' '~> 2.3'
Z,
pod 'PodName', '~> 2.3'
Wykonałem pracę.
źródło
Rozwiązałem swój problem za pomocą poniższego polecenia:
Aktualizacja strąków kakaowych
Aby zaktualizować, użyj tego polecenia
sudo gem zainstaluj cocoapods
jeśli powyższe polecenie daje błąd, użyj tego
sudo gem install -n / usr / local / bin cocoapods
i niż to zrobić
aktualizacja repozytorium pod
źródło
Dla mnie poniższe polecenia działały dobrze, ale najpierw spróbuj użyć bezpośredniego polecenia „pod setup”. Jeśli to nie zadziała, skorzystaj z poniższych poleceń, które z pewnością sprawią, że coś się wydarzy.
pod repo usuń master
pod setup
pod install
źródło
Wykonaj poniższe kroki:
Krok 0:
pod repo update master
Krok 1:
pod install
Gotowe!
źródło
miał ten sam problem.
to, co naprawdę zadziałało dla mnie, to
gem uninstall cocoapods
(jak wspomniano powyżej na https://stackoverflow.com/users/4264880/seema-sharma ), gdzie odkryłem, że mam zainstalowanych 11 (!) różnych wersji cocoapods.Zdecydowałem się odinstalować wszystko, a następnie
gem install cocoapods:1.4.0
Teraz wszystko w porządku.
źródło
użyj zamiast tego tis. Korzystanie z kapsuły prywatnej i kapsuły publicznej w tym samym projekcie
dodaj sos zarówno prywatny, jak i publiczny (oficjalny) na początku pliku podfile.
źródło
Żadna z odpowiedzi mi nie pomogła. Ostatecznie zorientowałem się, że w jednym z Podów popełniłem literówkę .
Np .: -
Firebaseresulrereres/Analytics
. To miało być,Firebase/Analytics
ale bez mojej wiedzy nazwa kapsuły miała błędną pisownięFirebaseresulrereres/Analytics
.Poprawienie nazwy kapsuły załatwiło mi sprawę! . Jednak znalezienie tego kosztowało mnie 1 godzinę !. Rozwój może być czasami niejednoznaczny i frustrujący! :)
źródło
Pracowałem trzepocząc ze wszystkimi publicznymi repozytoriami. Otrzymałem podobny błąd:
Unable to find a specification for `TOCropViewController (~> 2.5.2)` depended upon by `image_cropper`
Z jakiegoś powodu
TOCropViewController
specyfikacja była niedostępna. Próbowałem następujących rzeczy:Ale specyfikacja wtyczki była nadal niedostępna. Wreszcie rozwiązałem to, usuwając wzorzec repozytorium kapsuły.
pod repo remove master sudo rm -rf ~/.cocoapods/repos pod setup pod install
Aby sprawdzić i potwierdzić, że wtyczka jest tutaj, spróbowałem w
grep
środku.cocoapods
, używając:grep -r "TOCropViewController" -n ~/.cocoapods
Wewnątrz
~/.cocoapods/repos/trunk/Specs/3/7/4/TOCropViewController/2.5.2/TOCropViewController.podspec.json
Znalazłem repozytorium git wtyczki i poprawny numer wersji.
"source": { "git": "https://github.com/TimOliver/TOCropViewController.git", "tag": "2.5.2" },
Po tym
flutter clean
iflutter run
rozpoczął pracę.źródło