# Install carthage with Homebrew, MacPorts

Decentralized dependency manager for Cocoa. Version 0.40.0 via Homebrew; verified from local package data. Also installable with macports: sudo port install carthage.

## Install

```sh
sudo av install brew:carthage
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install carthage
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install carthage
```

  Evidence: MacPorts ports tree: devel/carthage/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:carthage
- **Package manager:** Homebrew
- **Version:** 0.40.0
- **Source summary:** Decentralized dependency manager for Cocoa
- **Homepage:** <https://github.com/Carthage/Carthage>
- **Repository:** <https://github.com/Carthage/Carthage>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- carthage (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.40.0
## Project history and usage

Carthage is a decentralized dependency manager for Cocoa. Its README says it builds dependencies and provides binary frameworks while leaving project structure and build settings under the developer's control.

### Project history

The public repository was created in 2014, during the period when Swift and modern Cocoa dependency management were taking shape. Carthage's official pitch was simplicity and decentralization: dependencies are declared in a Cartfile, resolved to exact versions in Cartfile.resolved, and built or downloaded without automatically editing the Xcode project.

### Adoption history

Carthage became a major alternative to CocoaPods for iOS and macOS projects that preferred explicit framework integration. Its documentation emphasizes manual Xcode integration, shared schemes, tagged releases, binary framework archives, and reproducible bootstrap through committed Cartfile.resolved files.

### How it is used

A typical project creates a Cartfile next to its .xcodeproj or .xcworkspace, runs carthage update, then adds built frameworks or XCFrameworks from Carthage/Build into Xcode. Carthage can also checkout dependencies into Carthage/Checkouts, use Git submodules, cache builds, and authenticate binary framework downloads through ~/.netrc when --use-netrc is set.

### Why package nerds care

Carthage is one of the canonical package-manager stories in Apple development: it rejects project mutation as a feature, relies on Git tags and semantic versions, and treats dependency builds as visible artifacts. For package-manager catalogs, it is a historically important Cocoa tool because it captures a distinct design point from CocoaPods and Swift Package Manager.

### Timeline

- 2014: Public GitHub repository created.
- 2021: README says version 0.37.0 encouraged XCFrameworks and required them for Apple Silicon Macs.
- 2020s: Documentation describes Cartfile, Cartfile.private, Cartfile.resolved, Carthage/Build, Carthage/Checkouts, and the shared cache under ~/Library/Caches/org.carthage.CarthageKit.

### Related projects

- Official documentation compares Carthage's approach with CocoaPods.
- Carthage operates in the Cocoa, Xcode, Swift, iOS, macOS, tvOS, and watchOS ecosystem.
- Its artifacts and binary-project-specification docs connect it to GitHub releases and HTTPS-hosted framework archives.

### Sources

- <https://api.github.com/repos/Carthage/Carthage>
- <https://github.com/Carthage/Carthage>
- <https://github.com/Carthage/Carthage/tree/master/Documentation>
- <https://github.com/Carthage/Carthage#readme>
- <https://formulae.brew.sh/api/formula/carthage.json>


## Security Notes

infrastructure mutation or orchestration signal.

- **Geiger risk:** orange / medium
- infrastructure mutation or orchestration signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ./Cartfile, ./Cartfile.private, ./Cartfile.resolved

## Credential files

- Unix: ~/.netrc
## Other Package-Manager Records

- MacPorts - carthage: normalized package name match | MacPorts ports tree: devel/carthage/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/carthage.yml](https://github.com/mxcl/pkgdb/blob/main/combined/carthage.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
