nvm
CLI Toolnvm-sh/nvm
POSIX-compliant bash script to manage multiple active Node.js versions.
Overview
nvm is a version manager for Node.js that allows quick installation and switching between multiple active versions from the command line. It works across POSIX-compliant shells including bash, zsh, ksh, and sh on Unix, macOS, and Windows WSL. It supports per-project versioning with .nvmrc files and offers features like offline installs and mirror customization.
README Preview
\n \n \n \n \n\n\n\n# Node Version Manager [][3] [][4] [](https://bestpractices.dev/projects/684)\n\n\n\n\n## Table of Contents\n\n- [Intro](#intro)\n- [About](#about)\n- [Installing and Updating](#installing-and-updating)\n - [Install & Update Script](#install--update-script)\n - [Additional Notes](#additional-notes)\n - [Installing in Docker](#installing-in-docker)\n - [Installing in Docker for CICD-Jobs](#installing-in-docker-for-cicd-jobs)\n - [Troubleshooting on Linux](#troubleshooting-on-linux)\n - [Troubleshooting on macOS](#troubleshooting-on-macos)\n - [Ansible](#ansible)\n - [Verify Installation](#verify-installation)\n - [Important Notes](#important-notes)\n - [Git Install](#git-install)\n - [Manual Install](#manual-install)\n - [Manual Upgrade](#manual-upgrade)\n- [Usage](#usage)\n - [Long-term Support](#long-term-support)\n - [Migrating Global Packages While Installing](#migrating-global-packages-while-installing)\n - [Migrating Global Packages Between Installed Versions](#migrating-global-packages-between-installed-versions)\n - [Offline Install](#offline-install)\n - [Default Global Packages From File While Installing](#default-global-packages-from-file-while-installing)\n - [io.js](#iojs)\n - [System Version of Node](#system-version-of-node)\n - [Listing Versions](#listing-versions)\n - [Setting Custom Colors](#setting-custom-colors)\n - [Persisting custom colors](#persisting-custom-colors)\n - [Suppressing colorized output](#suppressing-colorized-output)\n - [Restoring PATH](#restoring-path)\n - [Set default node version](#set-default-node-version)\n - [Use a mirror of node binaries](#use-a-mirror-of-node-binaries)\n - [Pass Authorization header to mirror](#pass-authorization-header-to-mirror)\n - [.nvmrc](#nvmrc)\n - [Deeper Shell Integration](#deeper-shell-integration)\n - [Calling `nvm use` automatically in a directory with a `.nvmrc` file](#calling-nvm-use-automatically-in-a-directory-w