# 使用 Homebrew, MacPorts, Nix 安装 xcodes

查看 xcodes 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:xcodes
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install xcodes
```

  证据: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install xcodes
```

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

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#xcodes
```

  证据: nixpkgs package indexes: pkgs/by-name/xc/xcodes/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## 软件包事实

- **软件包键:** brew:xcodes
- **软件包管理器:** Homebrew
- **版本:** 2.0.3
- **来源摘要:** Command-line tool to install and switch between multiple versions of Xcode
- **主页:** <https://github.com/XcodesOrg/xcodes>
- **仓库:** <https://github.com/XcodesOrg/xcodes>
- **最后更新:** 2026-07-08T09:48:03Z
- **已生成:** 2026-08-03T19:37:03+00:00

## 可执行文件

- xcodes (别名)

## 安装行为

- Bottle: 不可用

## 版本和新鲜度

- 页面生成时间: 2026-08-03
- 管理器版本: 2.0.3
## 项目历史与用法

xcodes is a Swift command-line tool for installing, listing, selecting, and removing multiple versions of Xcode. It fills the same role for Apple's IDE that language version managers fill for Ruby, Node, or Python projects.

### 项目历史

The repository was created on 2019-02-22 and shipped its initial 0.1.0 release on 2019-03-11 as an MVP for Apple developers who needed side-by-side Xcode installs. The README documents commands for installing specific releases and prereleases, listing available versions, selecting an active Xcode, managing runtimes, and uninstalling versions.

The project began under Robots and Pencils and moved into the XcodesOrg organization on 2023-04-21. The maintainer note describes the move as a response to growth beyond a small utility used by Apple developers around the world, while keeping Matt Kiazyk as owner and maintainer.

By 2024 and 2026, xcodes had adapted to changes in Apple's tooling and distribution model: releases added support for iOS 18+ runtime downloads and SRP Apple login changes, then 2.0.x refactored the CLI onto shared XcodesKit and XcodesLoginKit packages, added architecture-aware filtering, and raised the implementation baseline to Swift 6 and macOS 13.

### 采用历史

xcodes is widely adopted because Xcode versions are large, slow to install manually, and often need to be pinned per project or CI lane. The repository has thousands of GitHub stars and a long release line, and its companion Xcodes.app gives the same version-management idea a graphical macOS interface.

The .xcode-version proposal ties xcodes to a broader convention already used by xcode-install and fastlane. That file lets a repository declare the Xcode version it expects, making xcodes useful in onboarding scripts and CI environments where reproducible Apple build tooling matters.

### 使用方式

Common workflows include running xcodes list to discover versions, xcodes install to download and install an exact Xcode version, xcodes select to switch the active toolchain through xcode-select, and xcodes runtimes to install platform runtimes. When authentication is required for Apple downloads, xcodes stores Apple ID credentials in the macOS Keychain after prompting or reading environment variables.

Teams often add a .xcode-version file next to an Xcode project or workspace so automation can choose the expected Xcode. The README recommends committing that file for teams and CI, especially when a project depends on a specific stable Xcode release.

### 为什么软件包爱好者会关心

xcodes is significant in package-manager culture because it brings version-manager ergonomics to a toolchain Apple distributes as a huge GUI application. It makes Xcode itself scriptable: a package can select, install, and document the IDE/runtime version needed for deterministic builds.

### 时间线

- 2019-02-22: Repository created on GitHub.
- 2019-03-11: 0.1.0 initial MVP release.
- 2023-04-21: Xcodes projects moved from Robots and Pencils into XcodesOrg.
- 2023-06-23: 1.4.1 release highlighted runtime download and install support.
- 2024-10-30: 1.6.0 added Apple SRP login support and iOS 18+ runtime download support.
- 2026-06-08: 2.0.1 refactored the CLI around shared XcodesKit/XcodesLoginKit and architecture-aware downloads.
- 2026-06-17: 2.0.2 fixed a 2FA authentication regression.

### Related projects

- Xcodes.app is the native macOS GUI companion for the same workflow.
- fastlane and the legacy xcode-install gem are related because they also use or recognize .xcode-version-style Xcode pinning.

### 来源

- <https://github.com/XcodesOrg/XcodesApp>
- <https://github.com/XcodesOrg/xcodes>
- <https://github.com/XcodesOrg/xcodes/blob/main/XCODE_VERSION.md>
- <https://github.com/XcodesOrg/xcodes/blob/main/nextstep.md>
- <https://github.com/XcodesOrg/xcodes/releases>


## 安全说明

narrow executable package without higher-risk signals.

- **Geiger 风险:** 绿色 / 低
- narrow executable package without higher-risk signals


## 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: ./.xcode-version

## Credential files

- macOS: macOS Keychain
## 其他软件包管理器记录

- Nix - xcodes: normalized package name match | nixpkgs package indexes: pkgs/by-name/xc/xcodes/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - xcodes: normalized package name match | MacPorts ports tree: devel/xcodes/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/xcodes.yml](https://github.com/mxcl/pkgdb/blob/main/combined/xcodes.yml)


## 来源

- 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
