Skip to content

Repository files navigation

d — Interactively Manage Your Deno Versions

d is a simple, no-fuss Deno version manager. Download, cache, and switch between Deno versions with a single command.

Features

  • Install any released Deno version by number, alias, or canary
  • Interactive version picker (arrow keys)
  • Version caching — no re-downloading
  • Symlink-based activation (no subshells, no profile magic)
  • List local and remote versions
  • Run a specific version without activating it

Supported Platforms

OS Architectures
Linux x86_64, aarch64
macOS x86_64, aarch64
Windows x86_64, aarch64

Installation

Pre-built binary (no Rust required)

curl -fsSL https://raw.githubusercontent.com/THernandez03/d/main/install.sh | sh

This installs d to ~/.local/bin/d. You can override the destination:

INSTALL_DIR=/usr/local/bin curl -fsSL https://raw.githubusercontent.com/THernandez03/d/main/install.sh | sh

From source (requires Rust)

cargo install --git https://github.com/THernandez03/d

Manual

Download the latest binary from Releases and place it in your PATH.

Setup

Add ~/.d/bin to your PATH:

# bash / zsh
export D_PREFIX="$HOME/.d"
export PATH="$HOME/.local/bin:$PATH"  # for the d binary
export PATH="$D_PREFIX/bin:$PATH"     # for managed Deno binaries

Important

Some zsh frameworks (e.g. oh-my-zsh) define d as an alias for dirs -v (directory stack). Add unset -f d after your PATH exports so the d binary takes precedence:

unset -f d

Optional environment variables:

Variable Default Description
D_PREFIX ~/.d Root installation prefix
D_CACHE_DIR ~/.d/versions Where downloaded versions are stored

Usage

# Install and activate a version
d 1.40.0
d latest
d canary

# Interactive picker from cached versions
d

# List cached versions
d ls

# List remote versions
d ls-remote

# Fetch into cache without activating
d fetch 1.40.0

# Show path to a cached deno binary
d which v1.40.0

# Run a specific version
d run 1.40.0 -- --version

# Remove a cached version (interactive picker if no version given)
d remove v1.40.0
d rm v1.40.0        # alias

# Remove all except active
d prune

# Also remove the active version
d prune --force

# Show info
d info

# Update d itself
d update

# Fully remove d + all cached versions (requires confirmation)
d uninstall
d uninstall --yes   # skip confirmation prompt

Version Aliases

Alias Resolves to
latest Latest stable release
stable Same as latest
lts Same as latest
canary Deno's nightly canary build
next Same as canary
1.46 Latest patch in 1.46.x
1 Latest release in major 1

How It Works

d downloads prebuilt Deno binaries from the denoland/deno GitHub Releases, caches them under ~/.d/versions/<tag>/, and creates a symlink at ~/.d/bin/deno pointing to the selected version.

No subshells. No profile setup. Just a symlink.

Related Projects

Project Runtime
n Node.js version manager
b Bun version manager
z Zig version manager
r Rust version manager

License

MIT

About

Interactively manage your Deno versions

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages