# Install llvm@21 with Homebrew, MacPorts, apk, dnf, pacman, zypper, chocolatey, apt, Nix, scoop, winget

Next-gen compiler infrastructure. Version 21.1.8 via Homebrew; verified 2026-06-25.

## Install

```sh
sudo av install brew:llvm@21
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install llvm@21
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install llvm-21
```

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

### Linux

- apk (92%):

```sh
sudo apk add llvm21
```

  Evidence: Alpine Linux edge package indexes: llvm21 from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz

- dnf (92%):

```sh
sudo dnf install clang21
```

  Evidence: Fedora Rawhide package metadata: clang21 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- pacman (92%):

```sh
sudo pacman -S llvm21
```

  Evidence: Arch Linux sync databases: llvm21 from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install clang21
```

  Evidence: openSUSE Tumbleweed package metadata: clang21 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

- Debian apt (92%):

```sh
sudo apt install llvm
```

  Evidence: Debian stable package indexes: llvm from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#llvm
```

  Evidence: nixpkgs package indexes: llvm from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

### Windows

- Chocolatey (92%):

```sh
choco install llvm
```

  Evidence: Chocolatey community package catalog: llvm from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','librespeed-cli'

- Scoop (92%):

```sh
scoop install main/llvm
```

  Evidence: Scoop official bucket manifest trees: bucket/llvm.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id LLVM.LLVM -e
```

  Evidence: Windows Package Manager source index: LLVM.LLVM from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:llvm@21
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/llvm@21>
- **Version:** 21.1.8
- **Source summary:** Next-gen compiler infrastructure
- **Homepage:** <https://llvm.org/>
- **Repository:** <https://github.com/llvm/llvm-project>
- **Upstream docs:** <https://llvm.org/docs>
- **License:** Apache-2.0 WITH LLVM-exception
- **Source archive:** <https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.8/llvm-project-21.1.8.src.tar.xz>
- **Last updated:** 2026-06-25T13:37:50+02:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- clang-21 (cli)
- clang-21 (alias)

## Dependencies

- zstd

## Build dependencies

- cmake
- ninja
- python@3.14

## Uses from macOS

- libedit
- libffi

## Install behavior

- Post-install hook: defined
- Caveats: CLANG_CONFIG_FILE_SYSTEM_DIR: $HOMEBREW_PREFIX/etc/clang CLANG_CONFIG_FILE_USER_DIR: ~/.config/clang LLD is now provided in a separate formula: brew install lld@21 Using `clang`, `clang++`, etc., requires a CLT installation at `/Library/Developer/CommandLineTools`. If you don't want to install the CLT, you can write appropriate configuration files pointing to your SDK at ~/.config/clang. To use the bundled libunwind please use the following LDFLAGS: LDFLAGS="-L$HOMEBREW_PREFIX/opt/llvm@21/lib/unwind -lunwind" To use the bundled libc++ please use the following LDFLAGS: LDFLAGS="-L$HOMEBREW_PREFIX/opt/llvm@21/lib/c++ -L$HOMEBREW_PREFIX/opt/llvm@21/lib/unwind -lunwind" Features newer than system libc++ will require the following define to enable: CPPFLAGS="-D_LIBCPP_DISABLE_AVAILABILITY" NOTE: You probably want to use the libunwind and libc++ provided by macOS unless you know what you're doing.
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 21.1.8
- Package-manager updated: 2026-06-25
- Local data: ok
- Upstream repository: https://github.com/llvm/llvm-project
- info: No cached GitHub release or tag data was available.
## Project history and usage

LLVM 21 is the Homebrew versioned formula for the LLVM 21.x compiler infrastructure series, including Clang, LLVM command-line tools, LLD, MLIR tools, and related toolchain components.

### Project history

LLVM began as a University of Illinois research project to provide a modern SSA-based compilation strategy for static and dynamic compilation. The project made its 1.0 release in October 2003 and later grew into an umbrella for compiler, debugger, runtime, linker, and analysis subprojects.

The upstream project describes LLVM as a collection of modular and reusable compiler and toolchain technologies rather than a single compiler. Its core libraries provide optimizer and code-generation infrastructure around LLVM IR, while Clang, LLD, LLDB, libc++, compiler-rt, MLIR, OpenMP, and other subprojects build on that base.

### Adoption history

LLVM moved from academic compiler infrastructure into mainstream production use across commercial, open source, and research projects. The project highlights external users spanning language implementations, JITs, static analysis tools, linkers, debuggers, and high-performance computing toolchains.

For package managers, LLVM's release train and large set of CLI tools made it a common versioned dependency. Versioned formulae such as llvm@21 let users pin a major compiler stack while newer major releases continue to land.

### How it is used

Package users install LLVM for Clang and clang++, clang-format, clang-tidy, clangd, LLD, llvm-ar, llvm-objdump, llvm-config, opt, llc, FileCheck, MLIR tools, and many other compiler-development utilities. Upstream getting-started documentation centers on cloning llvm-project, configuring with CMake, and selecting enabled subprojects such as clang and lld.

Clang is documented as a C, C++, and Objective-C compiler driver that handles preprocessing, parsing, optimization, code generation, assembly, and linking, while transparently invoking lower-level compiler and linker tools.

### Why package nerds care

LLVM is one of the canonical package-manager stress tests: huge source trees, many binaries, CMake builds, multiple runtime libraries, and a steady major-version cadence. Versioned formulae matter because downstream projects often need a specific Clang/LLVM ABI or tool behavior.

LLVM 21 is a recent pinned major for users who want a modern LLVM stack without tracking the latest release. It is useful in package sets that carry several LLVM majors so source builds can choose the compiler API, optimizer behavior, and clang tool versions they were tested with.

### Timeline

- 2000: LLVM starts as a University of Illinois research project.
- 2003-10-24: LLVM 1.0 is released.
- 2012: LLVM receives the ACM Software System Award.
- 2025-08-26: LLVM 21.1.0 is released.
- 2025: Homebrew exposes LLVM 21 through the versioned llvm@21 formula.

### Related projects

- Clang, LLD, LLDB, libc++, compiler-rt, MLIR, OpenMP, Flang, BOLT, and the monorepo at github.com/llvm/llvm-project are the main related upstream projects.

### Sources

- <https://clang.llvm.org/docs/CommandGuide/clang.html>
- <https://llvm.org/>
- <https://llvm.org/docs/GettingStarted.html>
- <https://llvm.org/docs/GitHub.html>
- <https://llvm.org/pubs/2010-06-06-Clang-LLVM.pdf>
- <https://releases.llvm.org/>
- source_facts.package-manager-url


## Security Notes

No matching local secret-handling manifest was found for llvm@21. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** llvm@21
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** yes
- **URL Keys:** stable

## Other Package-Manager Records

- MacPorts - llvm-21: normalized package name match | MacPorts ports tree: lang/llvm-21/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- apk - llvm21 - 21.1.8-r1: package manager index match | Alpine Linux edge package indexes: llvm21 from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Low Level Virtual Machine compiler system, version 21 | https://llvm.org/
- apk - llvm21-dev - 21.1.8-r1: package manager index match | Alpine Linux edge package indexes: llvm21-dev from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Low Level Virtual Machine compiler system, version 21 (development files) | https://llvm.org/
- apk - llvm21-gtest - 21.1.8-r1: package manager index match | Alpine Linux edge package indexes: llvm21-gtest from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | LLVM 21 gtest static libraries | https://llvm.org/
- apk - llvm21-libs - 21.1.8-r1: package manager index match | Alpine Linux edge package indexes: llvm21-libs from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | LLVM 21 runtime library | https://llvm.org/
- apk - llvm21-linker-tools - 21.1.8-r1: package manager index match | Alpine Linux edge package indexes: llvm21-linker-tools from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Low Level Virtual Machine compiler system, version 21 (linker plugins) | https://llvm.org/
- apk - llvm21-static - 21.1.8-r1: package manager index match | Alpine Linux edge package indexes: llvm21-static from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | LLVM 21 static libraries | https://llvm.org/
- apk - llvm21-test-utils - 21.1.8-r1: package manager index match | Alpine Linux edge package indexes: llvm21-test-utils from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | LLVM 21 utilities for executing LLVM and Clang style test suites | https://llvm.org/
- apk - llvm21-test-utils-pyc - 21.1.8-r1: package manager index match | Alpine Linux edge package indexes: llvm21-test-utils-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Precompiled Python bytecode for llvm21-test-utils | https://llvm.org/
- dnf - clang21 - 21.1.8-6.fc45: package manager index match | Fedora Rawhide package metadata: clang21 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A C language family front-end for LLVM | http://llvm.org
- dnf - clang21-analyzer - 21.1.8-6.fc45: package manager index match | Fedora Rawhide package metadata: clang21-analyzer from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A source code analysis framework | http://llvm.org
- dnf - clang21-devel - 21.1.8-6.fc45: package manager index match | Fedora Rawhide package metadata: clang21-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development header files for clang | http://llvm.org
- dnf - clang21-libs - 21.1.8-6.fc45: package manager index match | Fedora Rawhide package metadata: clang21-libs from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Runtime library for clang | http://llvm.org
- dnf - clang21-resource-filesystem - 21.1.8-6.fc45: package manager index match | Fedora Rawhide package metadata: clang21-resource-filesystem from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Filesystem package that owns the clang resource directory | http://llvm.org
- dnf - clang21-tools-extra - 21.1.8-6.fc45: package manager index match | Fedora Rawhide package metadata: clang21-tools-extra from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Extra tools for clang | http://llvm.org
- dnf - clang21-tools-extra-devel - 21.1.8-6.fc45: package manager index match | Fedora Rawhide package metadata: clang21-tools-extra-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development header files for clang tools | http://llvm.org


## Related links

- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Archive and compression packages](https://www.automicvault.com/pkg/archive-compression-tools/) - Matched curated package taxonomy and local package facts.
- [zstd](https://www.automicvault.com/pkg/brew/zstd/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [ninja](https://www.automicvault.com/pkg/brew/ninja/) - Build dependency declared by Homebrew.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Build dependency declared by Homebrew.
- [c2rust](https://www.automicvault.com/pkg/brew/c2rust/) - Popular package that depends on this formula.
- [cppinsights](https://www.automicvault.com/pkg/brew/cppinsights/) - Popular package that depends on this formula.
- [creduce](https://www.automicvault.com/pkg/brew/creduce/) - Popular package that depends on this formula.
- [halide](https://www.automicvault.com/pkg/brew/halide/) - Popular package that depends on this formula.
- [ldc](https://www.automicvault.com/pkg/brew/ldc/) - Popular package that depends on this formula.
- [pocl](https://www.automicvault.com/pkg/brew/pocl/) - Popular package that depends on this formula.
- [llvm](https://www.automicvault.com/pkg/brew/llvm/) - Package name indicates the same formula family.
- [llvm@14](https://www.automicvault.com/pkg/brew/llvm-14/) - Package name indicates the same formula family.
- [llvm@15](https://www.automicvault.com/pkg/brew/llvm-15/) - Package name indicates the same formula family.
- [llvm@16](https://www.automicvault.com/pkg/brew/llvm-16/) - Package name indicates the same formula family.
- [llvm@17](https://www.automicvault.com/pkg/brew/llvm-17/) - Package name indicates the same formula family.
- [llvm@18](https://www.automicvault.com/pkg/brew/llvm-18/) - Package name indicates the same formula family.
- [llvm@19](https://www.automicvault.com/pkg/brew/llvm-19/) - Package name indicates the same formula family.
- [llvm@20](https://www.automicvault.com/pkg/brew/llvm-20/) - Package name indicates the same formula family.
- [clang-format](https://www.automicvault.com/pkg/brew/clang-format/) - Shares the same upstream source repository.
- [clang-format@11](https://www.automicvault.com/pkg/brew/clang-format-11/) - Shares the same upstream source repository.
- [flang](https://www.automicvault.com/pkg/brew/flang/) - Shares the same upstream source repository.
- [lld](https://www.automicvault.com/pkg/brew/lld/) - Shares the same upstream source repository.

## Combined YAML source

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


## Sources

- Nucleus package database
- package-page enrichment
- curated package history
- package version freshness
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
