whatisgithub

What is dvm?

justjavac/dvm — explained in plain English

Analysis updated 2026-05-18

705RustAudience · developerComplexity · 2/5LicenseSetup · easy

In one sentence

A command line tool for installing and switching between multiple versions of the Deno JavaScript runtime on one machine.

Mindmap

mindmap
  root((dvm))
    What it does
      Manages Deno versions
      Switches active version
      Per project pinning
    Tech stack
      Rust
      Shell installer
      PowerShell installer
    Use cases
      Team version sync
      One off version run
      Cache cleanup
    Audience
      Deno developers
      Teams sharing projects

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Install and switch between different Deno versions for different projects.

USE CASE 2

Pin a project folder to a specific Deno version so teammates automatically match it.

USE CASE 3

Run a one-off command under a specific Deno version without changing your default.

USE CASE 4

Manage version aliases and clean up cached Deno downloads.

What is it built with?

RustDenoShellPowerShell

How does it compare?

justjavac/dvmgrafeodb/grafeotobilg/polyglot
Stars705618810
LanguageRustRustRust
Setup difficultyeasymoderateeasy
Complexity2/53/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Shell installer on Linux or Mac requires the unzip program to already be installed.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

So what is it?

dvm is a command-line tool that lets you install and switch between multiple versions of Deno on one machine. Deno is a JavaScript and TypeScript runtime, and dvm plays the same role for it that similar tools play for other runtimes: you can keep several versions installed at once and tell your terminal which one to use at any given moment. You install dvm itself with a single command in a terminal, either via a shell script on Mac and Linux or via PowerShell on Windows. Once installed, commands like dvm install 1.3.2 download a specific Deno release, dvm use 1.1.0 switches to it, and dvm list shows everything you have installed. A useful feature is the .dvmrc file: you can pin a project folder to a specific Deno version by running dvm use --local 1.17.0 inside it. After that, anyone who opens that folder and runs dvm use without specifying a version will automatically get the pinned one. The tool also includes commands to set aliases for version ranges, run Deno commands under a particular version, clean cached downloads, and upgrade dvm itself. It is written in Rust and released under the MIT license.

Copy-paste prompts

Prompt 1
Show me how to install dvm and use it to switch to Deno version 1.17.0.
Prompt 2
Write a .dvmrc setup so my whole team uses the same Deno version with dvm.
Prompt 3
Explain how dvm's alias command works and how to create a custom alias.
Prompt 4
Help me set up dvm on Windows using PowerShell.

Frequently asked questions

What is dvm?

A command line tool for installing and switching between multiple versions of the Deno JavaScript runtime on one machine.

What language is dvm written in?

Mainly Rust. The stack also includes Rust, Deno, Shell.

What license does dvm use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is dvm to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is dvm for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.