Most tutorials for nvm-windows assume you install it using the Windows installer, which requires administrator privileges. But what if you can’t run installers or don’t have admin rights?
Here’s a step-by-step guide to setting up NVM (Node Version Manager) for Windows manually, without admin access.
1. Download NVM for Windows (No-Install)
Go to the nvm-windows releases page and download the nvm-noinstall.zip
package.
Extract it somewhere you can write to, for example:
D:\_WIP\Download\nvm-noinstall
2. Create settings.txt
Inside the extracted folder, create a new file called settings.txt
with this content:
root: D:\_WIP\Download\nvm-noinstall
path: D:\_WIP\Download\nvm-noinstall\nodejs
arch: 64
proxy: none
This tells NVM where to keep Node.js versions and where the active Node.js binary should be symlinked.
3. Create the nodejs
Folder
Still inside your extracted folder, create a new folder:
nodejs
This will be the folder NVM points to for the currently active Node.js version.
4. Install Node.js Using NVM
Open Command Prompt (no admin needed) and run:
nvm install latest
This will download and install the latest version of Node.js.
5. Setup Environment Variables
Since you don’t have admin rights, you’ll set user-level environment variables.
Add the following to your user environment variables:
-
NVM_HOME
→D:\_WIP\Download\nvm-noinstall
-
NVM_SYMLINK
→D:\_WIP\Download\nvm-noinstall\nodejs
Then, update your Path (user-level) to include:
%NVM_HOME%
%NVM_SYMLINK%
Tip: You don’t need to set
nvm_symlink
manually in environment variable, onlysettings.txt
.
6. Verify Installation
Check available Node.js versions:
nvm list available
Check installed versions:
nvm list
Switch Node.js versions easily:
nvm use 20
References
Bonus: What’s Next?
If you’re looking at alternatives to Node.js, check out Bun — a modern JavaScript runtime that is fast and has built-in tools like a bundler, transpiler, and test runner.
Would you like me to make this more hands-on with a screenshot of environment variable setup and the settings.txt
file so dev.to readers don’t get stuck?
Top comments (0)