pkg.sopackage field notes

brew / rank 4699

Install dub with Homebrew

Build tool for D projects. Version 1.41.0 via Homebrew; verified 2026-06-22.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install dub

provider-native install command

overview

Package summary

Build tool for D projects

Commands and aliases

  • dub

history

Project history and usage

DUB is the package and build manager that gave the D language ecosystem a conventional registry-plus-build-tool workflow. It matters because it made reusable D libraries installable and buildable through a shared package description instead of scattered project-specific build scripts.

Project history

The project describes itself as a package and build manager for D applications and libraries, with a central package registry at code.dlang.org. Its README says DUB emerged as a more general replacement for the package manager originally associated with vibe.d, then expanded from dependency management into building projects and generating IDE project files.

DUB's design center was deliberately small: a short dub.json or later package file, source in a conventional directory, and automatic dependency downloads during builds. That placed it in the same cultural slot as Cargo, npm, or Bundler, but tailored to D's compiler ecosystem and common D project layouts.

Adoption history

DUB became the normal packaging path for public D libraries because the official registry, documentation, and compiler-facing workflow all point through it. The README records broad packaging support over time, including Homebrew, MacPorts, Chocolatey, Debian/Ubuntu, Arch, Alpine, FreeBSD, and OpenBSD.

Its adoption is also tied to IDE and editor integration. The project documentation notes VisualD project generation and Mono-D support for dub.json, which helped make DUB package metadata double as development-environment metadata.

How it is used

D developers use DUB to create packages, resolve dependencies, build executables and libraries, run tests, and publish packages to the D package registry. The common workflow is intentionally root-directory based: run dub from a package directory and let the package file describe dependencies and build settings.

DUB also has package-nerd value as an example of a language ecosystem build tool that grew out of a framework-specific need, then became the ecosystem-level package manager.

Why package nerds care

For package database work, DUB is a high-signal package because it is both a CLI and an ecosystem primitive: the executable is a developer tool, while the project also defines package metadata conventions for the D community.

It is historically interesting because it sits between older makefile-centric compiled-language workflows and newer language-native package managers. DUB made D packages discoverable through a central registry while still respecting multiple D compilers such as DMD, GDC, and LDC.

Timeline

  • 2010s: DUB emerges from vibe.d's package-manager needs and generalizes into a package and build manager for D.
  • 2010s: code.dlang.org becomes the central DUB package registry.
  • 2017: DUB 1.5 and 1.6 releases appear in the GitHub release history.
  • 2020s: DUB remains the documented D package/build workflow and is packaged by mainstream OS package managers.

Related projects

  • vibe.d is central to DUB's origin story because DUB's README names it as the package manager that DUB generalized beyond.
  • code.dlang.org is the registry side of the DUB ecosystem; VisualD and Mono-D are related development tools that consumed DUB package metadata.

security posture

Risk level: yellow

generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • generalized runtime or code generation signal

Signals

  • text:build tool

Install behavior

  • No Homebrew bottle metadata was recorded.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

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

Config paths the tool may read or write during local use.

Unix
/var/lib/dub/settings.json<dub executable folder>/../etc/dub/settings.json/etc/dub/settings.json$DUB_HOME/settings.json$ROOT_PACKAGE_DIR/dub.settings.json
Windows
%ProgramData%\dub\settings.json<dub executable folder>\..\etc\dub\settings.json%DUB_HOME%\settings.json%ROOT_PACKAGE_DIR%\dub.settings.json

executables

Installed executables

CommandKindExposureNote
dubexecutableindexed executableDiscovered from the local executable index.

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-08-03
manager version1.41.0
manager updated2026-06-22
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:dub
Version1.41.0
Package managerHomebrew
Homepagehttps://code.dlang.org/getting_started
Repositoryhttps://github.com/dlang/dub
Last updated2026-06-22T14:03:12-07:00
Pulseupdated
Bottlenot recorded
Servicenone declared

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • curated configuration and credential file locations
  • curated package history
  • pkgdb category and tag curation