How to update just one library from the Cartfile with Carthage?

Solution 1:

From 0.12 version build, checkout, and update take an optional space separated list of dependencies

For a Cartfile like the following

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

You could choose to update one dependency

carthage update Alamofire

or multiple dependencies

carthage update Alamofire RxSwift

If you need to add flags, add them last:

carthage update Alamofire --platform iOS

Solution 2:

Carthage supports updating single dependencies now.If you have something like this in your Cartfile:

github "bitstadium/HockeySDK-iOS"

Then you can update only this one dependency by running

carthage update HockeySDK-iOS

Solution 3:

Right now the answer is no... If your run carthage help update you'll see

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

As you can see there is no mention to an option to specify only one dependency to update.

You should open an issue on the project repo asking to support that.

Solution 4:

If the framework isn't stored in GitHub, or you are using the git identifier, and your cartfile looks like this:

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

then you can update only that one running the following command

carthage update repo-name

Solution 5:

I tried all of the answers, and for me only removing or commenting temporarily the repositories and after running

carthage update --platform ios

after I restore the Catfile to previous state