A cross-platform Node.js version manager with both:
- GUI app (
nvm-desktop) for visual management - CLI tool (
nvmd) for terminal workflows
Supports macOS, Windows, and Linux.
English | 简体中文
- Install and uninstall Node.js versions quickly
- Switch global Node.js version with one command/click
- Pin Node.js versions per project
- Keep environments isolated across Node.js versions
- Use GUI or CLI based on your workflow
Download from releases:
After installation, ensure these are available in terminal:
nvmd -V
node -v
npm -vnvmd install 20.18.0nvmd lsnvmd use 20.18.0
node -vnvmd use 18.20.4 --project
node -vnvmd currentnvmd uninstall 16.20.2nvmd which node
nvmd which npmFor each project:
- Open project root
- Choose Node.js version with
nvmd use <version> --project - Run
node -vto confirm - Install dependencies and develop as usual
This helps keep dependency/toolchain behavior consistent per repo.
In nvm-desktop, you can:
- browse available Node.js versions
- install/uninstall versions
- switch global default version
- bind Node.js versions to projects
- manage settings such as mirror and language
If you prefer clicking over commands, most common operations are available in GUI.
nvm-desktop stores data in:
- macOS / Linux:
~/.nvmd - Windows:
%HOMEPATH%\.nvmd
Typical contents:
bin/shims (node,npm,npx,nvmd,corepack)versions/installed Node.js runtimesdefaultglobal default versionprojects.jsonper-project version bindingssetting.jsonapp settings
By default, no (environments are isolated).
To share global packages, set a common prefix:
npm config set prefix "/path/to/shared-global"- Use GUI for discovery and visual management
- Use CLI (
nvmd) for automation, scripts, and terminal-first work
Prerequisites:
- Rust
- Node.js
- pnpm
Run:
pnpm check
pnpm install
pnpm devBuild package:
pnpm buildArtifacts:
./src-tauri/target/release/bundle






