Я следую интернет-руководству по Firebase, и в рамках этого мне пришлось немного поработать в командной строке. Командная строка мне удобна, но с Cocoapods я не знаком. Я запустил pod repo update
, но после этого понял, что запустил его для всей папки «Документы» на моем Mac, а не для папки, содержащей мой проект. На выполнение у меня ушло более 20 минут, и когда он наконец завершился, он распечатал буквально тысячи вещей, некоторые из которых включали создание и удаление. Я был обеспокоен - приведет ли эта команда к изменению чего-либо в моих документах, кроме проекта Firebase? И что вообще pod repo update
делает в этом отношении?
Что именно делает `pod repo update`?
Ответы (2)
Согласно документации, pod repo update обновляет репозитории спецификаций, расположенные в ~/.cocoapods/repos
в вашем доме папка.
Обновляет локальный клон ИМЯ репозитория спецификации. Если NAME не указано, это обновит все репозитории спецификаций в ~ / .cocoapods / repos.
repo
- это в основном список всех доступных модулей и версий. Я только что столкнулся с ошибкой в наших сборках CI, потому что репо не включало спецификацию для библиотеки, которую я только что добавил. Запустив pod repo update
, он теперь знает об этой новой версии и может продолжить ее установку.
Итак, чтобы ответить на ваш вопрос ... Запуск pod repo update
в папке с документами ничего не сделает в этой папке. Он обновит ссылки на спецификации модулей только в вашей папке ~/.cocoapods/repos
.
~/.cocoapods/repos
. Поэтому, когда вы установите его, он получит текущий список доступных модулей / библиотек. через несколько месяцев и скажите, что Swift обновляет новую версию, тогда вам понадобится обновленный модуль, поддерживающий эту быструю версию. но ваши местные cocoapods не знают об этой обновленной версии. поэтому вы запускаете обновление репозитория pod, и cocoapods обновляет свой список доступных библиотек
- person Scriptable; 30.11.2018
Основной репозиторий Specs - это не что иное, как список ВСЕХ PodSpecs. PodSpec:
Спецификация описывает версию библиотеки Pod. Он включает подробную информацию о том, откуда должен быть извлечен источник [какой тег, фиксация или ветвь], какие файлы использовать, применяемые параметры сборки и другие общие метаданные, такие как его имя, версия и описание.
Каталог specs - это не что иное, как список всех отдельных PodSpecs. Каждая версия PodSpec находится в каталоге тегов. Репо не содержит самого модуля. Репо содержит файл PodSpec. PodSpec дает местоположение репо и множество других метаданных⚡︎
spec.source = { :git => 'https://github.com/tonymillion/Reachability.git', :tag => 'v3.1.0' }
Когда вы делаете pod repo update
, вы получаете последние спецификации PodSpec (а не сам модуль) из https://github.com/CocoaPods/Specs. Если вы хотите обновить только отдельный источник пакета, просто выполните pod repo update [NAME]
Главный репозиторий Cocoapods / Specs:
список некоторых PodSpec от Alamofire
одиночный PodSpec 4.7.3:
⚡︎: PodSpec: спецификация описывает версию библиотеки Pod. Он включает подробную информацию о том, откуда должен быть извлечен источник, какие файлы использовать, применяемые параметры сборки и другие общие метаданные, такие как его имя, версия и описание.
Ваш фактический проект вводит код через pod update
или pod install
, затем физические файлы загружаются на ваш Mac и копируются для вашего проекта.