nvm-windows is a Node.js version manager for Windows that allows developers to install, manage, and switch between multiple Node.js versions on their machines.
The tool solves the problem of managing multiple Node.js installations on Windows without requiring administrator privileges. It operates in two modes: shim mode, which uses fast shims written in Zig without symlinks, and link mode, which uses junctions with symlink fallback for zero-latency access. The project distinguishes itself through features like per-directory version pinning, automatic installation of missing versions, parallel simultaneous installations, and native Windows integrations including Event Viewer logging and Desktop Notification Center support.
Windows developers who need to work with multiple Node.js versions should consider this tool, particularly those in environments where administrator privileges are restricted. It suits projects requiring version isolation across different directories and teams that want to automate version management through configuration files. The tool is recommended by Microsoft and Google for Node.js setup on Windows. Unlike the original nvm project, which is for Mac and Linux only, this is a Windows-specific implementation with a different underlying philosophy and architecture.
The project is undergoing significant modernization with a complete rewrite for version 2, which is available as a release candidate and represents a substantial departure from version 1. Development includes planned commercial certified builds with code signing, MSI installers, and advanced logging capabilities for enterprise environments. The tool supports customization through user-defined aliases and default global modules, and can be configured for air-gapped environments with local download mirrors.