
Company News
Socket Partners with Replit to Block Malicious Packages in AI-Powered Development
Replit is integrating Socket Firewall into its AI-powered development experience to help protect builders from malicious open source packages.
@jchip/nvm
Advanced tools
A universal node.js version manager for Windows (no admin) and Unix.
Install is simple with a PowerShell script on Windows, or a bash script on Unix.
No admin required on Windows to install or use.
A linked system wide version that can be changed any time.
Change to any version independently in a terminal any time.
You don't need admin rights to install or use, only the permission to execute PowerShell scripts.
Tested on Windows 10, 8.1, and 7. Windows 7 requires PowerShell updates, see update instructions.
To install, start a Windows PowerShell and copy and paste one of the scripts below into the shell terminal and press enter.
This will install nvm and current LTS Node.js (v12.13.0) to directory nvm under your home specified by $Env:USERPROFILE.
If you want to install this under another directory, then set it with the param -nvmhome.
If you don't set it, then $Env:NVM_HOME will be checked, and if non-existent, then a Directory Browser dialog will be opened for you to create and choose a directory.
Video Demo of upgrading Windows 7 to PowerShell 5.1 and then installing this
You can retrieve the install script from multiple sources. Listed below are three options for you to choose from in case one of them is down.
Retrieve install script from github.com directly:
cd $Env:USERPROFILE;
Invoke-WebRequest https://raw.githubusercontent.com/jchip/nvm/v1.8.0/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1
Retrieve install script from unpkg.com:
cd $Env:USERPROFILE;
Invoke-WebRequest https://unpkg.com/@jchip/nvm@1.8.0/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1
Retrieve install script from jsdelivr.net:
cd $Env:USERPROFILE;
Invoke-WebRequest https://cdn.jsdelivr.net/npm/@jchip/nvm@1.8.0/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1
PowerShell version 4+ is required.
For Windows 7, you can update it to version 5.1 with the following instructions:
Win7AndW2K8R2-KB3191566-x64.zip or Win7-KB3191566-x86.zip for 32-bitWin7AndW2K8R2-KB3191566-x64.msu or Win7-KB3191566-x86.msu for 32-bitAfter it's completed and rebooted, launch PowerShell and type $PSVersionTable to check.
PSVersion should be something like
5.1.#####.####
Video Demo of upgrading Windows 7 to PowerShell 5.1 and then installing this
If you get the error:
install.ps1 cannot be loaded because running scripts is disabled on this system.
Then you need to set execution policy for PowerShell to RemoteSigned with the command:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
See this StackOverflow question for details.
You need to keep this policy if you want to use nvm in PowerShell to switch node.js versions.
If for some reason you absolutely can't have PowerShell or permission to install from it, then you can try to manually install following these steps:
nvm-1.8.0.nvm, for example: C:\Users\<username>\nvmC:\Users\<username>\nvm. You will get a new directory node-v20.12.1-win-x64node.exe from that directory into C:\Users\<username>\nvmRegEdit.exe, in HKEY_CURRENT_USER/Environment
NVM_HOME -> C:\Users\<username>\nvmNVM_LINK -> C:\Users\<username>\nvm\nodejs\binPath
;C:\Users\<username>\nvm\bin;C:\users\<username>\nvm\nodejs\binnvm install lts, note the version installed, and then nvm link <version>.Make sure to replace <username> above with your actual user name.
Because this is implemented in node.js, it happens to work on Unix also. It just need a different install script using bash.
To retrieve and run the install script, provided below are three options for you to choose from in case one of them is down.
Please pick one and then copy and paste it into a bash terminal to run.
Retrieve the install script from github.com:
Using cURL and the install script:
NVM_HOME=~/nvm curl -o- https://raw.githubusercontent.com/jchip/nvm/v1.8.0/install.sh | bash
or wget:
NVM_HOME=~/nvm wget -qO- https://raw.githubusercontent.com/jchip/nvm/v1.8.0/install.sh | bash
Retrieve the install script from unpkg.com:
Using cURL and the install script:
NVM_HOME=~/nvm curl -o- https://unpkg.com/@jchip/nvm@1.8.0/install.sh | bash
or wget:
NVM_HOME=~/nvm wget -qO- https://unpkg.com/@jchip/nvm@1.8.0/install.sh | bash
Retrieve the install script from jsdelivr.net:
Using cURL and the install script:
NVM_HOME=~/nvm curl -o- https://cdn.jsdelivr.net/npm/@jchip/nvm@1.8.0/install.sh | bash
or wget:
NVM_HOME=~/nvm wget -qO- https://cdn.jsdelivr.net/npm/@jchip/nvm@1.8.0/install.sh | bash
Usage: nvm <command> [options]
Commands:
nvm install <version> install the given version of Node.js
nvm uninstall <version> uninstall the given version of Node.js
nvm use <version> use the given version of Node.js in current shell
nvm stop undo effects of nvm in current shell
[aliases: unuse]
nvm link <version> permanently link the version of Node.js as default
nvm unlink permanently unlink the default version
nvm ls list all the installed Node.js versions
nvm ls-remote list remote versions available for install
nvm cleanup remove stale local caches
nvm postinstall [version]
Invoke custom post install script for the given version
nvm init-env
(windows) Generate cmd file to initialize env for nvm
nvm undo-env (windows) Generate cmd file to undo env for nvm
Options:
--proxy, -p Set network proxy URL [string]
--verifyssl, --ssl, --no-ssl Turn on/off verify SSL certificate
[boolean] [default: true]
--latest Match latest version to uninstall
--version, -V, -v Show version number
--help, -?, -h Show help. Add a command to show its help
[string]
Error: No command given
envs:
NVM_PROXY - set proxy URL
NVM_VERIFY_SSL - (true/false) turn on/off verify SSL certs
Examples:
nvm install lts
nvm install latest
nvm use 20
nvm uninstall 22.3
doc: https://www.npmjs.com/package/@jchip/nvm
These env flags can be set:
| name | values | description |
|---|---|---|
NVM_PROXY | string | An URL to a network proxy |
NVM_VERIFY_SSL | true/false | turn on/off node.js verify SSL certificates |
The nvx command allows you to run commands from your local node_modules/.bin directory without needing to specify the full path.
Unlike npx, which can fetch and execute packages from remote npm registry, nvx is simpler and only runs locally installed packages. This makes it faster and more predictable for running project-specific tools.
# Run eslint from local node_modules
nvx eslint src/
# Run prettier from local node_modules
nvx prettier --write .
# Run any locally installed CLI tool
nvx jest --watch
nvx --help
# or
nvx -h
On macOS and Linux, you can optionally add the nvm bin directory to your system PATH to make nvm commands available in GUI applications (like VS Code).
This adds nvm to your user's PATH. Works with GUI applications and doesn't require sudo:
macOS:
nvx --install-to-user
# Log out and log back in for changes to take effect
Linux:
nvx --install-to-user
# Log out and log back in for changes to take effect
This adds nvm to the system-wide PATH for all users. Requires sudo:
macOS:
sudo nvx --install-to-system
# Restart your terminal for changes to take effect
Linux:
sudo nvx --install-to-system
# Log out and log back in for changes to take effect
Note for Windows users: On Windows, the nvm bin directory is automatically added to your PATH during installation, so these commands are not needed.
npm install -g fynfyn installThis project uses xrun for versioning and releasing. Do not use npm version or npm publish directly.
Update CHANGELOG.md - Add a new entry at the top with the version and date:
## X.Y.Z MMM DD, YYYY
- feat: description of new feature
- fix: description of bug fix
Bump version - Choose the appropriate version bump:
xrun version --patch # Bug fixes (1.7.0 -> 1.7.1)
xrun version --minor # New features (1.7.0 -> 1.8.0)
xrun version --major # Breaking changes (1.7.0 -> 2.0.0)
Release - Publish to npm:
xrun release
FAQs
nvm: a universal node.js version manager for Windows (no admin) and Unix
The npm package @jchip/nvm receives a total of 106 weekly downloads. As such, @jchip/nvm popularity was classified as not popular.
We found that @jchip/nvm demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Replit is integrating Socket Firewall into its AI-powered development experience to help protect builders from malicious open source packages.

Security News
npm confirmed a tooling bug incorrectly marked several one-character packages as security holders and said it was working on a rollback.

Research
/Security News
Newer packages in this compromise use native extensions and .pth loaders to execute JavaScript stealers in developer environments.