Не удалось найти спецификацию в CocoaPods
Я не могу понять, почему Cocoapod не может найти спецификацию pod, которую я создал при запуске pod install
. Может ли кто-нибудь помочь мне решить эту проблему?
Я определяю подпрограмму в моем файле podspec библиотеки следующим образом:
s.subspec 'mysubspec' do |c|
c.dependency 'ABC','1.0.0'
end
Эта зависимость ABC указана в подпикселе библиотеки:
pod 'ABC', :git => '[email protected]: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 => "[email protected]:myrepo/Podspecs.git", :branch => "xyz" }
end
Ошибка [!] Unable to find a specification for ABC (= 1.0.0)
Решение: импортировать блок ABC перед импортом подпрограммы и добавить тег в podspec.
Ответы
Ответ 1
Вместо:
s.source = { :git => "[email protected]:myrepo/Podspecs.git", :branch => "xyz" }
Напишите это:
Не забывайте тег...
s.source = { :git => "https://github.com/myrepo/Podspecs.git", :branch => "xyz",
:tag => s.version.to_s }
Ответ 2
Я полагаю, что есть проблема с вашим репо. Удалите его и загрузите снова.
Ты можешь сделать:
pod repo remove master
pod setup
pod install
Или же:
sudo rm -fr ~/.cocoapods/repos/master
pod setup
pod install
Ответ 3
Для меня это была проблема с поиском спецификации, а не самой спецификации. Мне нужно было добавить исходную ссылку в подфайл, см. Документацию подфайла
Недавно Cocoapods добавили необходимость ссылки на репо, в котором хранится файл спецификации pod, который вы ищете, по умолчанию:
source 'https://github.com/CocoaPods/Specs.git'
Вам может потребоваться добавить несколько ссылок на источник, если вы используете более неясные или самодельные стручки.
Ответ 4
Со мной это работало как шарм.
pod repo remove master
pod setup
Однако вы можете попробовать прямо, pod setup
, как указывали некоторые пользователи.
Ответ 5
Я разрешаю это после добавления
source '/Users/username/Documents/path/to/iOS_SpecsRepository'
source 'https://github.com/CocoaPods/Specs.git'
в подфайл.
Хорошо. Я использовал локальный репозиторий в качестве своего репо. Поэтому я могу использовать это в другом файле podspec
s.dependency 'iOS_Networking_CPN', '~> 0.1.1'
iOS_Networking_CPN
находится в локальном пути.
Ответ 6
Я получал аналогичную ошибку для MGBoxkit
[!] Невозможно найти спецификацию для MGBoxkit
Заменив следующую строку
pod 'MGBoxkit'
с
pod 'MGBoxkit'
исправлена проблема.
Ответ 7
Обновите мастер репо для кокоподов.
'pod repo update master'
Ответ 8
Убедитесь, что вы добавили
source 'https://github.com/CocoaPods/Specs.git'
в самом начале вашего подфайла
Ответ 9
Сначала вам нужно добавить свой Podspec в репозиторий для приватных спецификаций; это позволяет CocoaPods найти модуль, когда вы пытаетесь установить его.
Введите в Терминале следующее, убедившись, что вы все еще находитесь в каталоге фреймворка, который вы пытаетесь добавить:
pod repo add [your framework name] [Your framework Git URL]
pod repo push [your framework name] [your framework .podspec file name]
Ответ 10
Я пропустил добавление ,
вызывая проблему.
Замена,
pod 'PodName' '~> 2.3'
С,
pod 'PodName', '~> 2.3'
Сделал работу.
Ответ 11
Я решил свою проблему с помощью следующей команды:
обновление cocoa-стручка
Для обновления используйте эту команду
sudo gem установить cocoapods
если приведенная выше команда выдает ошибку, используйте эту
sudo gem install -n/usr/local/bin cocoapods
и чем это сделать
обновление репо
Ответ 12
Выполните следующие шаги:
Шаг 0: pod repo update master
Шаг 1: pod install
И вы сделали!
Ответ 13
была такая же проблема.
то, что действительно работало для меня, было gem uninstall cocoapods
(как упомянуто выше https://stackoverflow.com/users/4264880/seema-sharma), где я обнаружил, что у меня было установлено 11 (!) различных версий cocoapods.
Я решил удалить все, а затем gem install cocoapods:1.4.0
Все хорошо сейчас.
Ответ 14
Для меня нижеследующее сработало хорошо, но первая попытка могла бы быть прямой командой "pod setup". Если это не сработало, тогда переход к приведенным ниже командам определенно приведет к успеху.
репо удалить мастер
настройка модуля
под установку
Ответ 15
используйте вместо этого.
Использование частного и общедоступного модуля в одном проекте
добавьте в начало файла подфайла как частное, так и публичное (официальное).
Ответ 16
В моем случае я решил свою проблему, обновив репозиторий:
pod repo update
pod install