2015-06-03 8 views
31

My Cartfile ha molte librerie. Quando faccio carthage update passa attraverso tutte le librerie. Questo può richiedere molto tempo.Come aggiornare solo una libreria da Cartfile con Carthage?

C'è un modo per aggiornare solo una singola libreria con carthage? Qualcosa come questo? (Questo non funzionerà)

carthage update "evgenyneu/moa" 

risposta

50

Da 0.12 versionbuild, checkout, e update prendere uno spazio separato elenco opzionale di dipendenze

Per un Cartfile come il seguente

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

Si può scegliere di aggiornare una dipendenza

carthage update Alamofire 

o più dipendenze

carthage update Alamofire RxSwift 
+10

** Cartagine aggiornamento di sicurezza --no-use-binari --platform iOS ** // se è necessario specificare flag addizionali – NAlexN

+0

@ Alex Salom: Box è il nome del repository nel Cartfile? sarebbe più facile capire se hai usato qualcosa di più familiare come AlamoFire forse? E qual è la porzione dei risultati? Un altro nome di repository o? – eonist

+1

@GitSyncApp, sì, devi scrivere i nomi delle dipendenze separati da spazi. Ho modificato la mia risposta –

7

In questo momento la risposta è no ... Se il run carthage help update vedrete

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 

Come si può vedere non si fa menzione ad un'opzione per specificare solo una dipendenza da aggiornare.

Si dovrebbe open an issue on the project repo chiedere di supportare quello.

7

Cartagine supporta l'aggiornamento singole dipendenze now.If hai qualcosa di simile nel tuo Cartfile:

github "bitstadium/HockeySDK-iOS" 

poi si può aggiornare solo questa dipendenza eseguendo

carthage update HockeySDK-iOS 
0

Se il framework non è memorizzato in GitHub, o stai utilizzando l'identificatore git e il tuo cartfile è simile al seguente:

git "ssh://[email protected]/teamname/repo-name.git" ~> 1.0 

allora si può aggiornare solo che uno eseguendo il comando seguente

carthage update repo-name 
Problemi correlati