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

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

## Install

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

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install llvm@20
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install llvm-20
```

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

### Linux

- apk (92%):

```sh
sudo apk add llvm20
```

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

- dnf (92%):

```sh
sudo dnf install clang20
```

  Evidence: Fedora Rawhide package metadata: clang20 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 llvm20
```

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

- zypper (92%):

```sh
sudo zypper install clang20
```

  Evidence: openSUSE Tumbleweed package metadata: clang20 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@20
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/llvm@20>
- **Version:** 20.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-20.1.8/llvm-project-20.1.8.src.tar.xz>
- **Last updated:** 2026-06-25T13:37:49+02:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- clang-20 (cli)
- clang-20 (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@20 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@20/lib/unwind -lunwind" To use the bundled libc++ please use the following LDFLAGS: LDFLAGS="-L$HOMEBREW_PREFIX/opt/llvm@20/lib/c++ -L$HOMEBREW_PREFIX/opt/llvm@20/lib/unwind -lunwind" 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: 20.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 20 is the Homebrew versioned formula for the LLVM 20.x compiler infrastructure series, bundling Clang, LLVM command-line tools, LLD, MLIR utilities, and related developer tooling.

### 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@20 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 20 is a major pinned compiler stack for users who want post-LLVM-19 features without taking the latest upstream major. In packaging terms, it is useful for CI images, language runtimes, and source builds that must align LLVM libraries, clang tools, and llvm-config.

### 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-03-04: LLVM 20.1.0 is released.
- 2025: Homebrew exposes LLVM 20 through the versioned llvm@20 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@20. 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@20
- **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-20: normalized package name match | MacPorts ports tree: lang/llvm-20/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- apk - llvm20 - 20.1.8-r1: package manager index match | Alpine Linux edge package indexes: llvm20 from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Low Level Virtual Machine compiler system, version 20 | https://llvm.org/
- apk - llvm20-dev - 20.1.8-r1: package manager index match | Alpine Linux edge package indexes: llvm20-dev from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Low Level Virtual Machine compiler system, version 20 (development files) | https://llvm.org/
- apk - llvm20-gtest - 20.1.8-r1: package manager index match | Alpine Linux edge package indexes: llvm20-gtest from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | LLVM 20 gtest static libraries | https://llvm.org/
- apk - llvm20-libs - 20.1.8-r1: package manager index match | Alpine Linux edge package indexes: llvm20-libs from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | LLVM 20 runtime library | https://llvm.org/
- apk - llvm20-linker-tools - 20.1.8-r1: package manager index match | Alpine Linux edge package indexes: llvm20-linker-tools from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Low Level Virtual Machine compiler system, version 20 (linker plugins) | https://llvm.org/
- apk - llvm20-static - 20.1.8-r1: package manager index match | Alpine Linux edge package indexes: llvm20-static from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | LLVM 20 static libraries | https://llvm.org/
- apk - llvm20-test-utils - 20.1.8-r1: package manager index match | Alpine Linux edge package indexes: llvm20-test-utils from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | LLVM 20 utilities for executing LLVM and Clang style test suites | https://llvm.org/
- apk - llvm20-test-utils-pyc - 20.1.8-r1: package manager index match | Alpine Linux edge package indexes: llvm20-test-utils-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Precompiled Python bytecode for llvm20-test-utils | https://llvm.org/
- dnf - clang20 - 20.1.8-9.fc45: package manager index match | Fedora Rawhide package metadata: clang20 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 - clang20-analyzer - 20.1.8-9.fc45: package manager index match | Fedora Rawhide package metadata: clang20-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 - clang20-devel - 20.1.8-9.fc45: package manager index match | Fedora Rawhide package metadata: clang20-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 - clang20-libs - 20.1.8-9.fc45: package manager index match | Fedora Rawhide package metadata: clang20-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 - clang20-resource-filesystem - 20.1.8-9.fc45: package manager index match | Fedora Rawhide package metadata: clang20-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 - clang20-tools-extra - 20.1.8-9.fc45: package manager index match | Fedora Rawhide package metadata: clang20-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 - clang20-tools-extra-devel - 20.1.8-9.fc45: package manager index match | Fedora Rawhide package metadata: clang20-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.
- [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.
- [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@20.yml](https://github.com/automic-vault/db/blob/main/combined/llvm@20.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
