Skip to content

Frequently Asked Questions about NVM

Installation Issues

Why do I get "nvm is not recognized as an internal or external command"?

This error occurs when Windows cannot find the nvm command in your system path. To fix:

  1. Restart your computer after installation
  2. If the problem persists, check if the NVM installation path is in your PATH environment variable:
    • Open Control Panel > System > Advanced system settings > Environment Variables
    • Check that the NVM path (e.g., C:\Users\<username>\AppData\Roaming\nvm) is in the user PATH variable

Should I uninstall Node.js before installing NVM?

Yes, it's recommended to uninstall any existing Node.js versions before installing NVM for Windows. This helps avoid potential conflicts between the global Node.js installation and the versions managed by NVM.

How do I reinstall NVM without losing my Node.js versions?

If you need to reinstall NVM but want to keep your Node.js versions:

  1. Back up the C:\Users\<username>\AppData\Roaming\nvm directory
  2. Uninstall NVM
  3. Install the new version of NVM
  4. Restore the directory contents from your backup

Node.js Issues

Why can't I install a specific Node.js version?

If you're having trouble installing a specific version:

  1. Make sure you have a stable internet connection
  2. Run the command prompt as administrator
  3. Temporarily disable your antivirus or firewall
  4. Try using an alternative mirror:
    bash
    nvm node_mirror https://npmmirror.com/mirrors/node/

How do I use a specific Node.js version for a project?

There are two ways to specify a Node.js version for a project:

  1. Create a .nvmrc file in the project root with the version number (e.g., 18.16.0)
  2. Manually switch to the required version when working on the project:
    bash
    nvm use 18.16.0

Why do I get permission errors when installing global packages?

If you're getting permission errors when installing npm global packages:

  1. Make sure you're running the command prompt with administrator privileges
  2. Check that you're using the correct Node.js version:
    bash
    nvm current

Configuration Issues

How do I configure a default Node.js version?

To configure a default version to be used every time you open a new terminal window:

bash
nvm alias default 18.16.0

How can I speed up Node.js downloads?

If downloads are slow, you can configure NVM to use a mirror closer to your location:

bash
nvm node_mirror https://npmmirror.com/mirrors/node/
nvm npm_mirror https://npmmirror.com/mirrors/npm/

See the mirrors guide for more options.

Where are NVM settings stored?

NVM for Windows settings are stored in:

  • NVM configuration: C:\Users\<username>\AppData\Roaming\nvm\settings.txt
  • Installed Node.js versions: C:\Users\<username>\AppData\Roaming\nvm\<version>

For nvm-sh (Linux/macOS), settings are stored in:

  • NVM installation: ~/.nvm
  • NVM configuration: Environment variables in your shell profile file

Windows-Specific Issues

Does NVM work in PowerShell?

Yes, NVM for Windows works in both Command Prompt (cmd) and PowerShell. However, if you're having issues with PowerShell, make sure script execution is enabled:

powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

How do I use NVM with Visual Studio Code?

To use NVM with Visual Studio Code:

  1. Set a default Node.js version using nvm alias default <version>
  2. Restart VS Code so it detects the Node.js version
  3. Alternatively, you can specify the full path to the Node.js version in VS Code settings

How do I use NVM with WSL (Windows Subsystem for Linux)?

NVM for Windows doesn't work directly in WSL, as WSL uses a Linux environment. For WSL, you need to install the Linux version of NVM (nvm-sh/nvm). See the nvm-sh installation guide for instructions.

Linux/macOS-Specific Issues

Why doesn't NVM work after installation on Linux/macOS?

If NVM doesn't work after installation:

  1. Make sure you've sourced your profile file:
    bash
    source ~/.bashrc  # or ~/.zshrc, ~/.profile, etc.
  2. Check that the NVM initialization code was added to your profile file
  3. Restart your terminal or open a new one

How do I use NVM with a specific shell?

NVM works with bash, zsh, and other shells. Make sure the NVM initialization code is added to the correct profile file for your shell:

  • Bash: ~/.bashrc or ~/.bash_profile
  • Zsh: ~/.zshrc
  • Ksh: ~/.profile

Advanced Troubleshooting

How do I debug issues with NVM?

To get more information about what NVM is doing, you can enable logging:

  1. Create or edit a settings.txt file in your NVM installation directory
  2. Add the line: root: <NVM installation path>
  3. Add the line: log: <path where you want to save logs>

How do I contribute or report a bug?

If you find a bug or want to contribute to the project:

  1. Report issues on the nvm-windows GitHub repository or the nvm-sh GitHub repository
  2. Make sure to include details about your operating system, NVM version, and steps to reproduce the issue

General Questions

What's the difference between NVM for Windows and nvm-sh?

NVM for Windows (nvm-windows) is a reimplementation of NVM specifically for Windows, while nvm-sh/nvm is the original implementation for Unix/Linux systems. While they share a similar purpose, they have different codebases and some differences in commands and features.

Can I use NVM for Windows on 32-bit operating systems?

Yes, NVM for Windows is compatible with both 32-bit and 64-bit Windows operating systems. You can switch between architectures using the nvm arch command.

Does NVM install npm automatically?

Yes, when you install a Node.js version using NVM, npm is automatically installed as part of the Node.js package.

Built with VitePress