FREEDOM251

Freedom251 › Package Managers

DUB

Paid LinuxMacWindows

Visit DUB Alternatives

DUB's own site

What DUB is

DUB is the official package manager for the D programming language, providing configurable builds across Windows, macOS, and Linux. Its command-line interface creates projects, downloads programs and dependencies, compiles and runs projects, and executes tests. Projects describe metadata, dependencies, build options, source paths, and platform settings in either a dub.sdl or dub.json recipe file. DUB resolves, downloads, and builds required dependencies, records selected versions in dub.selections.json, and supports dependency resolution, lockfiles, offline installation, and local package directories. The DUB registry helps users discover packages and publish their own. DUB integrates with various IDEs and can generate configuration for third-party build systems and IDEs. Precompiled versions are available for Windows, OS X, and Linux, with compiler support listed for DMD, GDC, and LDC. It is distributed with major compiler packages or installed separately, including from source. DUB is free and open source and requires libcurl with SSL support except on Windows.

Who it suits

DUB suits D developers who need dependency management, configurable cross-platform builds, and command-line project tools. It also fits users working with supported IDEs or DMD, GDC, and LDC compilers.

What it does well

  • Cross-platform Windows, macOS, and Linux support
  • Resolves and builds dependencies as needed
  • Lockfile and offline installation support
  • Registry for discovering and publishing packages
  • Runs project tests from the command line

What to know first

  • Requires libcurl with SSL except on Windows
  • Configuration requires dub.sdl or dub.json recipes

Verdict

DUB combines D dependency handling, project commands, testing, and configurable builds in one free, open-source tool. Its registry, compiler support, IDE integration, and offline features cover a range of D development workflows.

Facts from DUB's own pages

Build configuration
Recipe settings can specify build options, dependencies, source paths, and platform-specific settings. · dub.pm, 12 Oct 2026
Builds
DUB resolves, downloads, and builds project dependencies as needed when building a project. · dub.pm, 12 Oct 2026
CLI tasks
Its command-line interface downloads programs and dependencies, creates projects, compiles and runs projects, and tests them. · dub.pm, 11 Oct 2026
Company details
The opened DUB pages identify the software and documentation but do not state a maker headquarters or founding date. · dub.pm, 12 Oct 2026
Compiler distribution
DUB is distributed alongside major D compilers when their full packages are installed, and it can also be installed separately. · dub.pm, 11 Oct 2026
Compiler support
DUB is distributed alongside major D compilers when their full packages are installed. · dub.pm, 12 Oct 2026
Dependency handling
DUB resolves, downloads, and builds dependencies as needed, and records resolved versions in dub.selections.json. · dub.pm, 11 Oct 2026
Dependency resolution
Yes · dub.pm, 22 Sept 2026
IDE and build system support
DUB integrates with various IDEs and can generate configuration for third-party build systems and IDEs. · dub.pm, 11 Oct 2026
IDE integration
DUB is integrated in various IDEs and can generate configuration for third-party build systems and IDEs. · dub.pm, 12 Oct 2026
Local package sources
DUB supports using local directories as a package source for development workflows. · github.com, 11 Oct 2026
Lockfile support
Yes · dub.pm, 22 Sept 2026
Offline installation
Yes · dub.pm, 22 Sept 2026
Package configuration
A DUB project is configured with a recipe file named dub.sdl or dub.json. · dub.pm, 11 Oct 2026
Package discovery
The DUB registry lets users discover packages and publish their own. · dub.pm, 12 Oct 2026
Package formats
dub.json,dub.sdl · dub.pm, 22 Sept 2026
Package registry
The DUB registry lets users discover packages and publish their own. · dub.pm, 11 Oct 2026
Project setup
A DUB project uses a dub.sdl or dub.json recipe file to describe project metadata and dependencies. · dub.pm, 12 Oct 2026
Purpose
DUB is the official package manager for the D programming language and provides configurable cross-platform builds. · dub.pm, 12 Oct 2026
Security dependency
The repository says DUB requires libcurl with SSL support, except on Windows. · github.com, 11 Oct 2026
Standalone installation
DUB can also be installed separately from the compiler, including by building it from source. · dub.pm, 12 Oct 2026
Supported operating systems
The project repository says precompiled DUB versions are available for Windows, OS X, and Linux. · github.com, 11 Oct 2026
Supported platforms
Windows,macOS,Linux · dub.pm, 22 Sept 2026
Testing
The dub test command runs unit tests found in source paths using the unittest configuration by default. · dub.pm, 12 Oct 2026

Where DUB stands on Freedom251

Look at these too