Я не могу понять, почему Cocoapod не может найти созданную мной спецификацию модуля при запуске pod install
. Может ли кто-нибудь помочь мне решить эту проблему?
Я определяю подспецификацию в файле 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 перед импортом подспецификации и добавьте тег в спецификацию модуля.
ios
objective-c
ruby
cocoapods
Гай Август
источник
источник
Unable to find specification for 'ABC' (=1.0.0)
Ответы:
Вместо того:
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 }
источник
[!] Unable to find a specification for
ABC (= 1.0.0) `Я полагаю, что есть проблема с вашим репозиторием pod master. Удалите его и загрузите снова.
Ты можешь сделать:
pod repo remove master pod setup pod install
Или:
sudo rm -fr ~/.cocoapods/repos/master pod setup pod install
источник
pod setup
сделал свое дело.pod repo update && pod setup
Возможно, сначала захотите попробовать - если в вашем репо просто отсутствуют спецификации, это может исправить это и будет быстрее, чем повторное клонирование всего репо с нуля.Для меня это была проблема с поиском спецификации, а не самой спецификации. Мне нужно было добавить ссылку на источник в Podfile, см. Документацию Podfile
Cocoapods недавно добавили необходимость ссылки на репо, в котором хранится файл спецификации пода, который вы ищете, по умолчанию:
source 'https://github.com/CocoaPods/Specs.git'
Возможно, вам придется добавить несколько ссылок на источники, если вы используете более непонятные или самодельные модули.
источник
.git
репо. Источник по умолчанию - общедоступный.Я разрешаю это после добавления
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
находится на локальном пути.источник
Со мной это сработало как шарм.
pod repo remove master pod setup
Однако вы можете попробовать напрямую,
pod setup
как указали некоторые пользователи.источник
Убедитесь, что вы добавили
source 'https://github.com/CocoaPods/Specs.git'
в самом начале вашего подфайла
источник
Обновите главное репо для cocoapods.
`pod repo update master`
источник
Я получал аналогичную ошибку для MGBoxkit
Заменив следующую строку
pod 'MGBoxkit'
с участием
pod 'MGBoxKit'
исправил проблему.
источник
Сначала вам нужно добавить свой Podspec в частный репозиторий спецификаций; это позволяет CocoaPods находить модуль при попытке его установки.
Введите в Терминал следующее, убедившись, что вы все еще находитесь в каталоге фреймворка, который пытаетесь добавить:
pod repo add [your framework name] [Your framework Git URL] pod repo push [your framework name] [your framework .podspec file name]
источник
Я пропустил добавление
,
вызывающей проблемы.Замена,
pod 'PodName' '~> 2.3'
С участием,
pod 'PodName', '~> 2.3'
Сделал свою работу.
источник
Я решил свою проблему с помощью следующей команды:
обновление стручка какао
Для обновления используйте эту команду
sudo gem установить cocoapods
если приведенная выше команда дает ошибку, чем используйте эту
sudo gem install -n / usr / local / bin cocoapods
и чем это сделать
пакет обновления репо
источник
Для меня приведенное ниже сработало хорошо, но сначала попробуйте использовать прямую команду «pod setup». Если это не сработает, то используйте приведенные ниже команды, чтобы все произошло.
pod repo удалить master
pod setup
pod install
источник
Выполните следующие шаги:
Шаг 0:
pod repo update master
Шаг 1:
pod install
Готово!
источник
была такая же проблема.
что действительно сработало для меня
gem uninstall cocoapods
(как упоминалось выше https://stackoverflow.com/users/4264880/seema-sharma ), где я обнаружил, что у меня установлено 11 (!) различных версий cocoapods.Я решил удалить все, а затем
gem install cocoapods:1.4.0
Теперь все хорошо.
источник
вместо этого используйте tis. Использование частного модуля и общедоступного модуля в одном проекте
Добавьте источник как для частного, так и для публичного (официального) в начало подфайла.
источник
Ни один из ответов мне не помог. В конце концов я выяснил, что у меня была опечатка для одного из модулей .
Пример: -
Firebaseresulrereres/Analytics
. Это должно было быть,Firebase/Analytics
но без моего ведома имя модуля имело неправильное написаниеFirebaseresulrereres/Analytics
.Исправление имени модуля помогло мне! . Однако на то, чтобы найти это, мне потребовался 1 час !. Иногда разработка может быть неоднозначной и разочаровывающей! :)
источник
Я работал в трепете со всеми публичными репозиториями. У меня была аналогичная ошибка:
Unable to find a specification for `TOCropViewController (~> 2.5.2)` depended upon by `image_cropper`
По какой-то причине
TOCropViewController
спецификации не было. Я пробовал следующее:Но спецификация плагина по-прежнему недоступна. Наконец, я решил это, удалив мастер репозитория модуля.
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-репозиторий плагина и правильный номер версии.
"source": { "git": "https://github.com/TimOliver/TOCropViewController.git", "tag": "2.5.2" },
После этого
flutter clean
иflutter run
приступил к работе.источник