- name
- nvs-node-version-switcher
- description
- Manage Node.js versions using NVS (Node Version Switcher). Use when switching Node.js versions, installing new versions, managing version aliases, or when the user mentions NVS, node version management, or needs to change the active Node.js version in the current environment.
NVS Node.js Version Manager
NVS (Node Version Switcher) is a cross-platform tool for managing multiple Node.js versions. It allows you to easily install, switch between, and manage different Node.js versions and their associated npm packages.
Quick Start
Check if NVS is installed
nvs --versionIf NVS is not installed, install it first
Windows (PowerShell or Command Prompt)
# Using winget (Windows 11+)
winget install jasongin.nvs
# Or using chocolatey
choco install nvs
# Manual installation
$env:NVS_HOME="$env:LOCALAPPDATA\
vs"
git clone https://github.com/jasongin/nvs "$env:NVS_HOME"
. "$env:NVS_HOME\
vs.ps1" installMac/Linux
export NVS_HOME="$HOME/.nvs"
git clone https://github.com/jasongin/nvs "$NVS_HOME"
. "$NVS_HOME/nvs.sh" installBasic Commands
Install Node.js versions
# Install latest version
nvs add latest
# Install latest LTS version
nvs add lts
# Install specific version
nvs add 18.20.0
# Install with specific architecture
nvs add 18.20.0/x64Switch between versions
# Use a version in current shell session
nvs use 18.20.0
# Use LTS version
nvs use lts
# Set default version (permanent)
nvs link 18.20.0
# Remove default link
nvs unlink 18.20.0List versions
# List locally installed versions
nvs ls
# List available remote versions
nvs ls-remote
# Filter remote versions
nvs ls-remote 18
nvs ls-remote ltsRemove versions
nvs rm 16.20.0Advanced Features
Automatic version switching
Enable automatic switching based on .node-version or .nvmrc files:
# Enable auto-switching
nvs auto on
# Disable auto-switching
nvs auto off
# Manual trigger for current directory
nvs autoVersion aliases
# Create an alias
nvs alias myproject 18.20.0
# List all aliases
nvs alias
# Remove an alias
nvs alias myprojectRun commands with specific versions
# Run a script with specific Node version
nvs run 18.20.0 app.js
# Execute a command with specific version
nvs exec 18.20.0 npm testMigrate global packages
# Migrate global npm packages from one version to another
nvs migrate 16.20.0 18.20.0Remote configuration
# List configured remotes
nvs remote
# Add custom remote (e.g., nightly builds)
nvs remote add nightly https://nodejs.org/download/nightly/
# Use custom remote
nvs add nightly/18Common Workflows
Project Setup Workflow
- Check if project has
.node-versionor.nvmrcfile - If NVS not installed, install it
- Install required Node.js version
- Enable auto-switching if needed
- Verify the correct version is active
Version Upgrade Workflow
- Check current version:
nvs ls - Install new version:
nvs add latest - Test with new version:
nvs use latest - Migrate global packages if needed:
nvs migrate <old> <new> - Set as default if satisfied:
nvs link latest
Troubleshooting
- If
nvscommand not found, ensure NVS is properly installed and shell is restarted - Check
NVS_HOMEenvironment variable points to correct directory - Use
nvs which <version>to verify version paths - For permission issues on Mac/Linux, check NVS installation directory permissions
Environment Variables
NVS_HOME: Directory where NVS stores Node.js versions (default:~/.nvson Mac/Linux, `%LOCALAPPDATA%\
vs` on Windows)
NVS_NODE_HOME: Alternative location for Node.js installations
Integration with VS Code
NVS integrates with Visual Studio Code for debugging with specific Node.js versions. Configure in .vscode/launch.json:
{
"runtimeArgs": ["18.20.0"],
"windows": { "runtimeExecutable": "nvs.cmd" },
"osx": { "runtimeExecutable": "nvs" },
"linux": { "runtimeExecutable": "nvs" }
}