nvm-sh/nvm

Description: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 42 minutes ago
Added to GitGenius on November 18th, 2025
Created on April 15th, 2010
Open Issues & Pull Requests: 387 (+0)
Number of forks: 10,282
Total Stargazers: 94,239 (+0)
Total Subscribers: 1,074 (+0)

Issue Activity (beta)

Open issues: 225
New in 7 days: 1
Closed in 7 days: 1
Avg open age: 1,892 days
Stale 30+ days: 218
Stale 90+ days: 207

Recent activity

Opened in 7 days: 1
Closed in 7 days: 1
Comments in 7 days: 2
Events in 7 days: 5

Top labels

  • non-issue / invalid (364)
  • needs followup (225)
  • installing node (150)
  • installing nvm (128)
  • feature requests (118)
  • OS: windows (99)
  • pull request wanted (96)
  • bugs (63)

Repository Insights (GitGenius)

Median issue/PR response: 12.1 hours
Mean response time: 464.6 days
90th percentile: 1815.0 days
Tracked items: 559

Most active contributors

Detailed Description

NVM (Node Version Manager) is a POSIX-compliant bash script that enables users to manage multiple active Node.js versions on a single machine. Written primarily in Shell, the project provides a command-line interface for quickly installing and switching between different Node.js releases without requiring system-wide installation or administrative privileges. The tool is designed to be installed per-user and invoked per-shell, making it suitable for development environments where different projects may require different Node.js versions.

The repository demonstrates significant maintenance activity and community engagement. According to GitGenius tracking data, the project has processed 551 issues and pull requests with a median response latency of 13.1 hours, indicating active triage and support. The most prolific contributor tracked is ljharb with 1368 events, demonstrating sustained long-term stewardship of the project. The issue tracking data reveals that the project receives substantial feature requests (46 tracked items) alongside a significant volume of non-issue or invalid submissions (173 items), suggesting the tool's popularity generates considerable user interaction.

NVM's functionality centers on version management and context switching for Node.js environments. The tool supports automatic version switching through .nvmrc files, allowing projects to specify their required Node.js version, which nvm can automatically activate when entering a project directory. The installation process is streamlined through an install script that handles setup across different shell environments including bash, zsh, ksh, and dash. The README documentation indicates comprehensive platform support including Unix, macOS, and Windows WSL, with specific troubleshooting guidance for each platform.

The project includes features for managing global npm packages during version migrations, offline installation capabilities, and support for custom Node.js binary mirrors with authorization headers. Users can set default Node.js versions, customize color output, and integrate nvm with various shell configurations. The tool also provides bash completion functionality and supports special deployment scenarios such as Docker containers and CI/CD pipelines, with specific configuration examples for non-interactive shell environments.

GitGenius classification data places nvm within multiple technical domains including Node.js, Version Manager, JavaScript, Runtime Environment, CLI Tool, Software Management, Installation Utility, Context Switching, Development Workflow, and Unix Utility. The project's contributor network overlaps with major repositories including microsoft/vscode, microsoft/typescript, and rust-lang/rust, indicating its significance within the broader development tooling ecosystem.

The repository maintains comprehensive documentation covering installation methods including git-based installation, manual installation, and Docker-based deployment. Troubleshooting sections address platform-specific issues, particularly for macOS where shell configuration and Xcode command-line tools present common setup challenges. The project includes support for Alpine Linux installations and provides guidance for WSL environments. The codebase is actively tested, as indicated by the CI/CD badge in the README showing test status across the master branch.

nvm
by
nvm-shnvm-sh/nvm

Repository Details

Fetching additional details & charts...