Как обновить только одну библиотеку из Cartfile с помощью Carthage?

мой Cartfile имеет много библиотек. Когда я делаю carthage update он проходит через все библиотеки. Это может занять очень много времени.

есть ли способ, чтобы обновить только одну библиотеку с Карфагеном? Что-то вроде этого? (это не работает)

carthage update "evgenyneu/moa"

5 ответов


С 0.12 версии build, checkout и update возьмите необязательный разделенный пробелом список зависимостей

для Cartfile, как следующее

github "Alamofire/Alamofire"
github "ReactiveX/RxSwift"

вы можете выбрать обновление одной зависимости

carthage update Alamofire

или несколько зависимостей

carthage update Alamofire RxSwift

Carthage поддерживает обновление одиночных зависимостей.Если у вас есть что-то подобное в вашем Cartfile:

github "bitstadium/HockeySDK-iOS"

тогда вы можете обновить только эту зависимость, запустив

carthage update HockeySDK-iOS

прямо сейчас ответ-нет... Если ваш пробег carthage help update вы увидите

Update and rebuild the project's 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

Как вы можете видеть, нет упоминания о возможности указать только одну зависимость для обновления.

вы должны открыть выпуск по РЕПО проекта С просьбой поддержать это.


Я закончил писать свой собственный скрипт, который создает для меня одну зависимость и объединяет ее с существующими зависимостями. Вы можете найти его в https://github.com/ruipfcosta/carthage-workarounds.


если фреймворк не хранится в GitHub, или вы используете git идентификатор, и ваш cartfile выглядит так:

git "ssh://git@bitbucket.org/teamname/repo-name.git" ~> 1.0

тогда вы можете обновить только тот, который выполняет следующую команду

carthage update repo-name