# Install xcenv with Homebrew

Xcode version manager. Version 1.2.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:xcenv
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install xcenv
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:xcenv
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/xcenv>
- **Version:** 1.2.0
- **Source summary:** Xcode version manager
- **Homepage:** <https://github.com/xcenv/xcenv>
- **Repository:** <https://github.com/xcenv/xcenv>
- **Upstream docs:** <https://github.com/xcenv/xcenv#readme>
- **License:** MIT
- **Source archive:** <https://github.com/xcenv/xcenv/archive/refs/tags/v1.2.0.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- xcenv (cli)
- xcenv (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.2.0
- Local data: ok
- Upstream repository: https://github.com/xcenv/xcenv
- Upstream latest detected: v1.2.0 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

xcenv is an Xcode version manager modeled around project and global version files. Its README frames the tool as a way to document and manage the Xcode version required by a project or shell environment.

### Project history

xcenv was created to solve a common Apple-development problem: teams often need multiple Xcode.app bundles installed, but `xcode-select` and `DEVELOPER_DIR` require agreement on exact application paths. The README explicitly calls out conflicting app naming conventions, such as `Xcode7.2.app` versus `Xcode_7_2.app`, as the kind of team-level friction the tool avoids.

### Adoption history

The tool follows the family pattern of language and runtime managers that use shims plus local and global version files. In xcenv's case, those shims wrap tools such as `xcodebuild`, `xcrun`, and other Xcode binaries so third-party build tools can inherit the selected Xcode version.

### How it is used

xcenv chooses the active Xcode version from `DEVELOPER_DIR`, then `XCENV_VERSION`, then the nearest `.xcode-version` file, then the global `~/.xcenv/.xcode-version` file. A project can commit `.xcode-version` so that switching branches or checking out old commits also records the expected Xcode toolchain.

The main commands are `xcenv local`, `xcenv global`, `xcenv shell`, `xcenv version`, and `xcenv rehash`. Its README names Fastlane, CocoaPods, Shenzhen, and existing scripts using `xcodebuild` or `xcrun` as examples of tools that can benefit from the shim approach.

### Why package nerds care

xcenv is notable less as a large project than as an Apple-platform adaptation of the version-file convention familiar from tools such as rbenv. For package and build-system users, the important idea is that the required Xcode version can live with the source tree instead of in local machine notes.

### Timeline

- 2010s: xcenv adopts a shim-and-version-file model for Xcode toolchains.
- 2020s: The `.xcode-version` convention remains visible in Apple build tooling discussions and related tools.

### Related projects

- The README names Fastlane, CocoaPods, and Shenzhen as tools that can run through xcenv shims.
- Later Xcode managers such as Xcodes and Xcodes.app focus more on downloading and switching installed Xcode versions, while xcenv centers on documenting and resolving the version to use.

### Sources

- <https://github.com/XcodesOrg/XcodesApp#readme>
- <https://github.com/XcodesOrg/xcodes#readme>
- <https://github.com/xcenv/xcenv#readme>


## 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: ./.xcode-version, ~/.xcenv/.xcode-version
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** xcenv
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Requirements:** macos
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [xcodes](https://www.automicvault.com/pkg/brew/xcodes/) - Shares av.db curated category or tags: apple-development, cli, developer-tools, version-manager, xcode.
- [scalaenv](https://www.automicvault.com/pkg/brew/scalaenv/) - Shares av.db curated category or tags: cli, developer-tools, environment-manager, version-manager.
- [bob](https://www.automicvault.com/pkg/brew/bob/) - Shares av.db curated category or tags: cli, developer-tools, version-manager.
- [frum](https://www.automicvault.com/pkg/brew/frum/) - Shares av.db curated category or tags: cli, developer-tools, version-manager.
- [juliaup](https://www.automicvault.com/pkg/brew/juliaup/) - Shares av.db curated category or tags: cli, developer-tools, version-manager.
- [luaver](https://www.automicvault.com/pkg/brew/luaver/) - Shares av.db curated category or tags: cli, developer-tools, version-manager.
- [nave](https://www.automicvault.com/pkg/brew/nave/) - Shares av.db curated category or tags: cli, developer-tools, version-manager.
- [phpbrew](https://www.automicvault.com/pkg/brew/phpbrew/) - Shares av.db curated category or tags: cli, developer-tools, version-manager.
- [jenv](https://www.automicvault.com/pkg/brew/jenv/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, environment, environment-manager.

## Combined YAML source

View the package source record on GitHub. [combined/xcenv.yml](https://github.com/automic-vault/db/blob/main/combined/xcenv.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- cross-ecosystem install command graph
