# Install dmd with Homebrew, apk, chocolatey, MacPorts, Nix, pacman, scoop, winget, zypper

Digital Mars D compiler. Version 2.112.0 via Homebrew; verified 2026-07-05.

## Install

```sh
sudo av install brew:dmd
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install dmd
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install dmd
```

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

### Linux

- apk (92%):

```sh
sudo apk add dmd
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#dmd
```

  Evidence: nixpkgs package indexes: pkgs/by-name/dm/dmd/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S dmd
```

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

- zypper (92%):

```sh
sudo zypper install dmd
```

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

### Windows

- Chocolatey (92%):

```sh
choco install dmd
```

  Evidence: Chocolatey community package catalog: dmd from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='10.2688','mpv.portable'

- Scoop (92%):

```sh
scoop install main/dmd
```

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

- winget (92%):

```sh
winget install --id Dlang.DMD -e
```

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

## Package facts

- **Package key:** brew:dmd
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/dmd>
- **Version:** 2.112.0
- **Source summary:** Digital Mars D compiler
- **Homepage:** <https://dlang.org/>
- **Repository:** <https://github.com/dlang/dmd>
- **Upstream docs:** <https://dlang.org/dmd.html>
- **License:** BSL-1.0
- **Source archive:** <https://github.com/dlang/dmd/archive/refs/tags/v2.112.0.tar.gz>
- **Last updated:** 2026-07-05T01:19:29Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- dmd (cli)
- dmd (alias)

## Build dependencies

- ldc

## Install behavior

- Post-install hook: not defined
- Caveats: Ancillary tools (e.g. ddemangle, dustmite, rdmd) are now in the `dtools` formula.
- Bottle: available on sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.112.0
- Package-manager updated: 2026-07-05
- Local data: ok
- Upstream repository: https://github.com/dlang/dmd
- Upstream latest detected: v2.112.0 (current)
## Project history and usage

DMD is the reference compiler for the D programming language, the practical systems and applications language started by Walter Bright as a better C++.

### Project history

The D Language Foundation describes D as a language begun by Walter Bright and grown steadily for more than 15 years. The official D blog gives the compiler-specific origin: Walter Bright began putting D together in 1999 using his existing Digital Mars C and C++ compiler tools and backend, concentrating on a new DMD frontend.

### Adoption history

DMD 0.00 was released in December 2001, Linux support arrived in DMD 0.63 in May 2003, and D 2.000 appeared in June 2007 according to the official change log. The modern project is maintained around the D Language Foundation, which supports D infrastructure, DConf, scholarships, and development resources.

### How it is used

Package users install DMD for the command-line compiler, Phobos standard library, druntime, and companion tools such as rdmd, dub, dustmite, dumpobj, and ddemangle. The compiler reads dmd.conf settings, accepts DFLAGS, can compile, link, run, generate docs, emit coverage, and work with C toolchains.

### Why package nerds care

DMD is package-nerd significant because it is both a compiler package and the historical reference implementation of D. Its packaging tells the story of D's unusual toolchain lineage: Digital Mars roots, POSIX use of system C toolchains, Windows object-format transitions, and eventual open-source redistribution under the Boost license.

### Timeline

- 1999: Walter Bright began putting D together.
- 2001-12: DMD 0.00 was released.
- 2003-05: DMD 0.63 brought Linux support.
- 2007-06: D 2.000 was released.
- 2026-01: D 2.112.0 appeared in the official change log.

### Related projects

- The DMD repository includes druntime and works alongside Phobos, dub, rdmd, and the broader D compiler ecosystem including LDC and GDC.

### Sources

- <https://dlang.org/foundation/about.html>
- <https://dlang.org/blog/2017/10/25/dmd-windows-and-c/>
- <https://dlang.org/changelog/index.html>
- <https://github.com/dlang/dmd#readme>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- 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

- Linux: /etc/dmd.conf
- macOS: /usr/local/bin/dmd.conf
## Source Database Details

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

## Other Package-Manager Records

- Nix - dmd: normalized package name match | nixpkgs package indexes: pkgs/by-name/dm/dmd/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - dmd - 2.112.1-r2: normalized package name match | Alpine Linux edge package indexes: dmd from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | D Programming Language reference compiler | https://github.com/dlang/dmd
- apk - dmd-doc - 2.112.1-r2: normalized package name match | Alpine Linux edge package indexes: dmd-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | D Programming Language reference compiler (documentation) | https://github.com/dlang/dmd
- pacman - dmd - 1:2.112.1-2: normalized package name match | Arch Linux sync databases: dmd from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | The D programming language reference compiler | https://www.dlang.org
- zypper - dmd - 2.112.1-1.2: normalized package name match | openSUSE Tumbleweed package metadata: dmd from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | D Programming Language 2.0 | https://dlang.org/
- zypper - libphobos2-0_112 - 2.112.1-1.2: normalized package name match | openSUSE Tumbleweed package metadata: libphobos2-0_112 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Standard library for the D language | https://dlang.org/
- zypper - phobos-devel - 2.112.1-1.2: normalized package name match | openSUSE Tumbleweed package metadata: phobos-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Development files for the D standard library | https://dlang.org/
- zypper - phobos-devel-static - 2.112.1-1.2: normalized package name match | openSUSE Tumbleweed package metadata: phobos-devel-static from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Development files for the D standard library | https://dlang.org/
- MacPorts - dmd: normalized package name match | MacPorts ports tree: lang/dmd/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Chocolatey - dmd: normalized package name match | Chocolatey community package catalog: dmd from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='10.2688','mpv.portable'
- Scoop - main/dmd: normalized package name match | Scoop official bucket manifest trees: bucket/dmd.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - Dlang.DMD: normalized package name match | Windows Package Manager source index: Dlang.DMD from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [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.
- [ldc](https://www.automicvault.com/pkg/brew/ldc/) - Build dependency declared by Homebrew.
- [dtools](https://www.automicvault.com/pkg/brew/dtools/) - Shares the same upstream homepage.
- [c3c](https://www.automicvault.com/pkg/brew/c3c/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [idris2](https://www.automicvault.com/pkg/brew/idris2/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [inform6](https://www.automicvault.com/pkg/brew/inform6/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [lisette](https://www.automicvault.com/pkg/brew/lisette/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [nesc](https://www.automicvault.com/pkg/brew/nesc/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [smlnj](https://www.automicvault.com/pkg/brew/smlnj/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [vala](https://www.automicvault.com/pkg/brew/vala/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.

## Combined YAML source

View the package source record on GitHub. [combined/dmd.yml](https://github.com/automic-vault/db/blob/main/combined/dmd.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
- external package-manager database matches
- cross-ecosystem install command graph
