Подтвердить что ты не робот

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

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

Есть ли способ обновить только одну библиотеку с помощью carthage? Что-то вроде этого? (это не сработает)

carthage update "evgenyneu/moa"
4b9b3361

Ответ 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.