📈 GH Trending Explorer 🎲 Surprise me

← all repos

nvm-sh / nvm

git clone https://github.com/nvm-sh/nvm.git v0.40.8 · 29d ago 🔥 on GitHub Trending today

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

+14
stars, 24h · #339
+326
stars, 7 days · #176
+627
stars, 30 days · #466
96k
★ total · +0% this week
11k
forks · 387 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageShell
LicenseMIT
Created2010-04-15 (16y ago)
Last push10d ago
Watchers1.1k
OwnerOrganization

Seen on GitHub Trending

  • 2026-10-20 — #11 daily in shell · +14 ★
  • 2026-10-20 — #17 monthly in shell · +627 ★
  • 2026-10-20 — #1 weekly in shell · +326 ★

GitHub topics

Links

README excerpt
# Node Version Manager [ ][3] [ ][4] 
## Table of Contents
- Intro
- About
- Installing and Updating
 - Install & Update Script
 - Additional Notes
 - Installing in Docker
 - Installing in Docker for CICD-Jobs
 - Troubleshooting on Linux
 - Troubleshooting on macOS
 - Ansible
 - Verify Installation
 - Important Notes
 - Git Install
 - Manual Install
 - Manual Upgrade
- Usage
 - Long-term Support
 - Migrating Global Packages While Installing
 - Migrating Global Packages Between Installed Versions
 - Offline Install
 - Default Global Packages From File While Installing
 - io.js
 - System Version of Node
 - Listing Versions
 - Setting Custom Colors
 - Persisting custom colors
 - Suppressing colorized output
 - Restoring PATH
 - Set default node version
 - Use a mirror of node binaries
 - Pass Authorization header to mirror
 - Platforms without official binaries
 - .nvmrc
 - Deeper Shell Integration
 - Calling `nvm use` automatically in a directory with a `.nvmrc` file
 - bash
 - zsh
 - fish
- Running Tests
- Environment variables
- Bash Completion
 - Usage
- Compatibility Issues
- Installing nvm on Alpine Linux
 - Alpine Linux 3.13+
 - Alpine Linux 3.5 - 3.12
- Uninstalling / Removal
 - Manual Uninstall
- Docker For Development Environment
- Problems
- macOS Troubleshooting
- WSL Troubleshooting
- Maintainers
- Project Support
- Enterprise Support
- License
- Copyright notice
## Intro
`nvm` allows you to quickly install and use different versions of node via the command line.
**Example:**
 [code] 
Simple as that!
## About
nvm is a version manager for node.js, designed to be installed per-user, and invoked per-shell. `nvm` works on any POSIX-compliant shell (sh, dash, ksh, zsh, bash), in particular on these platforms: unix, macOS, and Windows WSL.
## Installing and Updating
### Install & Update Script
To **install** or **update** nvm, you should run the [install script][2]. To do that, you may either download and run the script manually, or use the following cURL or Wget command:
 [code] 
 [code] 
Running either of the above commands downloads a script and runs it. The script clones the nvm repository to `~/.nvm`, and attempts to add the source lines from the snippet below to the correct profile file (`~/.bashrc`, `~/.bash_profile`, `~/.zshrc`, or `~/.profile`). If you find the install script is updating the wrong profile file, set the `$PROFILE` env var to the profile file’s path, and then rerun the installation script.
 [code] 
#### Additional Notes
- If the environment variable `$XDG_CONFIG_HOME` is present, it will place the `nvm` files there.
- You can add `--no-use` to the end of the above script to postpone using `nvm` until you manually `use` it:
 [code] 
- You can customize the install source, directory, profile, and version using the `NVM_SOURCE`, `NVM_DIR`, `PROFILE`, and `NODE_VERSION` variables.
Eg: `curl ... | NVM_DIR="path/to/nvm"`. Ensure that the `NVM_DIR` does not contain a trailing slash.
- The installer can use `git`, `curl`, or `