Как обновить только одну библиотеку из Cartfile с помощью Carthage?
В моем Cartfile есть много библиотек. Когда я делаю carthage update
, он проходит через все библиотеки. Это может занять очень много времени.
Есть ли способ обновить только одну библиотеку с помощью carthage? Что-то вроде этого? (это не сработает)
carthage update "evgenyneu/moa"
Ответы
Ответ 1
Начиная с версии 0,12 build
, checkout
и update
берут необязательный список зависимостей, разделенных пробелами
Для файла Cartfile, подобного следующему
github "Alamofire/Alamofire"
github "ReactiveX/RxSwift"
Вы можете обновить одну зависимость.
carthage update Alamofire
или несколько зависимостей
carthage update Alamofire RxSwift
Если вам нужно добавить флаги, добавьте их последними:
carthage update Alamofire --platform iOS
Ответ 2
Carthage поддерживает обновление отдельных зависимостей now.If у вас есть что-то подобное в вашем Cartfile:
github "bitstadium/HockeySDK-iOS"
Затем вы можете обновить только эту зависимость, запустив
carthage update HockeySDK-iOS
Ответ 3
В данный момент ответа нет... Если вы запустите carthage help update
, вы увидите
Update and rebuild the project dependencies
[--configuration Release]
the Xcode configuration to build (ignored if --no-build option is present)
[--platform all]
the platform to build for (ignored if --no-build option is present)
[--verbose]
print xcodebuild output inline (ignored if --no-build option is present)
[--no-build]
skip the building of dependencies after updating
[--use-ssh]
use SSH for downloading GitHub repositories
[--use-submodules]
add dependencies as Git submodules
[--no-use-binaries]
check out dependency repositories even when prebuilt frameworks exist (ignored if --no-build option is present)
[--color auto]
whether to apply color and terminal formatting (one of ‘auto’, ‘always’, or ‘never’)
[/path/to/your/app]
the directory containing the Carthage project
Как вы можете видеть, нет упоминания о возможности указать только одну зависимость для обновления.
Вы должны открыть проблему в репозитории проекта, чтобы поддержать это.
Ответ 4
Если структура не хранится в GitHub или вы используете идентификатор git
, а ваш cartfile
выглядит так:
git "ssh://[email protected]/teamname/repo-name.git" ~> 1.0
то вы можете обновить только тот, который выполняет следующую команду
carthage update repo-name
Ответ 5
Я перепробовал все ответы, и для меня только удалил или прокомментировал временно репозитории и после запуска
carthage update --platform ios
после того, как я восстановлю Catfile в предыдущее состояние
Ответ 6
В итоге я написал свой собственный script, который создает для меня одну зависимость и объединяет ее с моими существующими зависимостями.
Вы можете найти его на https://github.com/ruipfcosta/carthage-workarounds.