Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

DVM - D Version Manager

DVM allows you to easily download and install D compilers and manage different versions of the compilers. When you switch D compiler with the use command the compiler will only be available in the current shell. This allows you to have one version of the compiler in one shell and another version in another shell. For example, have a D1 version in one shell and a D2 version in another.


General Installation Instructions:

  1. Download the DVM tool from:
  2. Add executable permissions to the downloaded file.
  3. Run the installation: $ ./<dvm> install dvm (where <dvm> is the name of the downloaded file)

Example of installation:

Mac OS X:

$ curl -L -o dvm && chmod +x dvm && ./dvm install dvm

Linux 64bit

$ curl -L -o dvm && chmod +x dvm && ./dvm install dvm

Linux 32bit

$ curl -L -o dvm && chmod +x dvm && ./dvm install dvm

FreeBSD 64bit (Bash required)

$ curl -L -o dvm && chmod +x dvm && ./dvm install dvm


Follow the general installation instructions.

Upgrading from 0.2.0 to 0.3.0

It might be necessary to do a complete clean installation by removing ~/.dvm. This is in particular if you had any problems with the previous shell scripts not working.


Install Compilers

  • Install a D compiler (DMD): $ dvm install 2.068.1
  • Install a D compiler (DMD) with Tango as the standard library: $ dvm install 1.072 -t

Use a Compiler

  • Use a D compiler (DMD): $ dvm use 2.068.1
  • Use a D compiler (DMD) and set it to default: $ dvm use 2.068.1 -d
  • Show usage information: $ dvm -h


The source code is available under the Boost Software License 1.0


  • Currently DMD is the only supported compiler
  • On Windows DVM does not work in the PowerShell prompt, only in cmd. Although, it is possible to set a default compiler, dvm use <version> -d, in cmd and then use the compiler in the PowerShell prompt.

Build Dependencies

Build Instructions

  1. Run Dub in the directory of the cloned repository: $ dub build