Repository files navigation

@jchip/nvm

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.

Table Of Contents

Installing Windows nvm using PowerShell

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.

Installing from github.com

Retrieve install script from github.com directly:

cd $Env:USERPROFILE;
Invoke-WebRequest https://raw.githubusercontent.com/jchip/nvm/v1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Installing from unpkg.com

Retrieve install script from unpkg.com:

cd $Env:USERPROFILE;
Invoke-WebRequest https://unpkg.com/@jchip/nvm@1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Installing from jsdelivr.net

Retrieve install script from jsdelivr.net:

cd $Env:USERPROFILE;
Invoke-WebRequest https://cdn.jsdelivr.net/npm/@jchip/nvm@1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Windows 7 Updates

PowerShell version 4+ is required.

For Windows 7, you can update it to version 5.1 with the following instructions:

  1. Go to https://www.microsoft.com/en-us/download/details.aspx?id=54616
  2. Click Red Download button
  3. Download Win7AndW2K8R2-KB3191566-x64.zip or Win7-KB3191566-x86.zip for 32-bit
  4. Unzip the file
  5. Run the package Win7AndW2K8R2-KB3191566-x64.msu or Win7-KB3191566-x86.msu for 32-bit

After 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

Troubleshooting

Running scripts disabled

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.

No PowerShell - Manual Install

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:

  1. Download the package zip file from https://github.com/jchip/nvm/archive/v1.6.4/.zip
    1. Extract this file to your home directory. You will get a new directory nvm-1.6.4.
    2. Rename it to nvm, for example: C:\Users\<username>\nvm
  2. Download the zipfile https://nodejs.org/dist/v20.12.1/node-v20.12.1-win-x64.zip
    1. Extract this file to C:\Users\<username>\nvm. You will get a new directory node-v20.12.1-win-x64
    2. Move node.exe from that directory into C:\Users\<username>\nvm
    3. (optional) You can delete the directory after if you want.
  3. Open RegEdit.exe, in HKEY_CURRENT_USER/Environment
    1. Add the following entries
      1. NVM_HOME -> C:\Users\<username>\nvm
      2. NVM_LINK -> C:\Users\<username>\nvm\nodejs\bin
    2. Append the following to the entry Path
      1. ;C:\Users\<username>\nvm\bin;C:\users\<username>\nvm\nodejs\bin
  4. Open Command Prompt, and run nvm install lts, note the version installed, and then nvm link <version>.

Make sure to replace <username> above with your actual user name.

Installing Unix nvm

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.

Installing from github.com

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.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://raw.githubusercontent.com/jchip/nvm/v1.6.4/install.sh | bash

Installing from unpkg.com

Retrieve the install script from unpkg.com:

Using cURL and the install script:

NVM_HOME=~/nvm curl -o- https://unpkg.com/@jchip/nvm@1.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://unpkg.com/@jchip/nvm@1.6.4/install.sh | bash

Installing from jsdelivr.net

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.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://cdn.jsdelivr.net/npm/@jchip/nvm@1.6.4/install.sh | bash

Usage

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

Environments

These env flags can be set:

namevaluesdescription
NVM_PROXYstringAn URL to a network proxy
NVM_VERIFY_SSLtrue/falseturn on/off node.js verify SSL certificates

License

MIT

About

nvm: a universal node.js version manager for Windows (no admin) and Unix

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

@jchip/nvm

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.

Table Of Contents

Installing Windows nvm using PowerShell

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.

Installing from github.com

Retrieve install script from github.com directly:

cd $Env:USERPROFILE;
Invoke-WebRequest https://raw.githubusercontent.com/jchip/nvm/v1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Installing from unpkg.com

Retrieve install script from unpkg.com:

cd $Env:USERPROFILE;
Invoke-WebRequest https://unpkg.com/@jchip/nvm@1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Installing from jsdelivr.net

Retrieve install script from jsdelivr.net:

cd $Env:USERPROFILE;
Invoke-WebRequest https://cdn.jsdelivr.net/npm/@jchip/nvm@1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Windows 7 Updates

PowerShell version 4+ is required.

For Windows 7, you can update it to version 5.1 with the following instructions:

  1. Go to https://www.microsoft.com/en-us/download/details.aspx?id=54616
  2. Click Red Download button
  3. Download Win7AndW2K8R2-KB3191566-x64.zip or Win7-KB3191566-x86.zip for 32-bit
  4. Unzip the file
  5. Run the package Win7AndW2K8R2-KB3191566-x64.msu or Win7-KB3191566-x86.msu for 32-bit

After 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

Troubleshooting

Running scripts disabled

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.

No PowerShell - Manual Install

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:

  1. Download the package zip file from https://github.com/jchip/nvm/archive/v1.6.4/.zip
    1. Extract this file to your home directory. You will get a new directory nvm-1.6.4.
    2. Rename it to nvm, for example: C:\Users\<username>\nvm
  2. Download the zipfile https://nodejs.org/dist/v20.12.1/node-v20.12.1-win-x64.zip
    1. Extract this file to C:\Users\<username>\nvm. You will get a new directory node-v20.12.1-win-x64
    2. Move node.exe from that directory into C:\Users\<username>\nvm
    3. (optional) You can delete the directory after if you want.
  3. Open RegEdit.exe, in HKEY_CURRENT_USER/Environment
    1. Add the following entries
      1. NVM_HOME -> C:\Users\<username>\nvm
      2. NVM_LINK -> C:\Users\<username>\nvm\nodejs\bin
    2. Append the following to the entry Path
      1. ;C:\Users\<username>\nvm\bin;C:\users\<username>\nvm\nodejs\bin
  4. Open Command Prompt, and run nvm install lts, note the version installed, and then nvm link <version>.

Make sure to replace <username> above with your actual user name.

Installing Unix nvm

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.

Installing from github.com

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.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://raw.githubusercontent.com/jchip/nvm/v1.6.4/install.sh | bash

Installing from unpkg.com

Retrieve the install script from unpkg.com:

Using cURL and the install script:

NVM_HOME=~/nvm curl -o- https://unpkg.com/@jchip/nvm@1.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://unpkg.com/@jchip/nvm@1.6.4/install.sh | bash

Installing from jsdelivr.net

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.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://cdn.jsdelivr.net/npm/@jchip/nvm@1.6.4/install.sh | bash

Usage

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

Environments

These env flags can be set:

namevaluesdescription
NVM_PROXYstringAn URL to a network proxy
NVM_VERIFY_SSLtrue/falseturn on/off node.js verify SSL certificates

License

MIT

About

nvm: a universal node.js version manager for Windows (no admin) and Unix

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

@jchip/nvm

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.

Table Of Contents

Installing Windows nvm using PowerShell

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.

Installing from github.com

Retrieve install script from github.com directly:

cd $Env:USERPROFILE;
Invoke-WebRequest https://raw.githubusercontent.com/jchip/nvm/v1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Installing from unpkg.com

Retrieve install script from unpkg.com:

cd $Env:USERPROFILE;
Invoke-WebRequest https://unpkg.com/@jchip/nvm@1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Installing from jsdelivr.net

Retrieve install script from jsdelivr.net:

cd $Env:USERPROFILE;
Invoke-WebRequest https://cdn.jsdelivr.net/npm/@jchip/nvm@1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Windows 7 Updates

PowerShell version 4+ is required.

For Windows 7, you can update it to version 5.1 with the following instructions:

  1. Go to https://www.microsoft.com/en-us/download/details.aspx?id=54616
  2. Click Red Download button
  3. Download Win7AndW2K8R2-KB3191566-x64.zip or Win7-KB3191566-x86.zip for 32-bit
  4. Unzip the file
  5. Run the package Win7AndW2K8R2-KB3191566-x64.msu or Win7-KB3191566-x86.msu for 32-bit

After 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

Troubleshooting

Running scripts disabled

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.

No PowerShell - Manual Install

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:

  1. Download the package zip file from https://github.com/jchip/nvm/archive/v1.6.4/.zip
    1. Extract this file to your home directory. You will get a new directory nvm-1.6.4.
    2. Rename it to nvm, for example: C:\Users\<username>\nvm
  2. Download the zipfile https://nodejs.org/dist/v20.12.1/node-v20.12.1-win-x64.zip
    1. Extract this file to C:\Users\<username>\nvm. You will get a new directory node-v20.12.1-win-x64
    2. Move node.exe from that directory into C:\Users\<username>\nvm
    3. (optional) You can delete the directory after if you want.
  3. Open RegEdit.exe, in HKEY_CURRENT_USER/Environment
    1. Add the following entries
      1. NVM_HOME -> C:\Users\<username>\nvm
      2. NVM_LINK -> C:\Users\<username>\nvm\nodejs\bin
    2. Append the following to the entry Path
      1. ;C:\Users\<username>\nvm\bin;C:\users\<username>\nvm\nodejs\bin
  4. Open Command Prompt, and run nvm install lts, note the version installed, and then nvm link <version>.

Make sure to replace <username> above with your actual user name.

Installing Unix nvm

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.

Installing from github.com

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.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://raw.githubusercontent.com/jchip/nvm/v1.6.4/install.sh | bash

Installing from unpkg.com

Retrieve the install script from unpkg.com:

Using cURL and the install script:

NVM_HOME=~/nvm curl -o- https://unpkg.com/@jchip/nvm@1.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://unpkg.com/@jchip/nvm@1.6.4/install.sh | bash

Installing from jsdelivr.net

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.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://cdn.jsdelivr.net/npm/@jchip/nvm@1.6.4/install.sh | bash

Usage

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

Environments

These env flags can be set:

namevaluesdescription
NVM_PROXYstringAn URL to a network proxy
NVM_VERIFY_SSLtrue/falseturn on/off node.js verify SSL certificates

License

MIT

About

nvm: a universal node.js version manager for Windows (no admin) and Unix

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

@jchip/nvm

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.

Table Of Contents

Installing Windows nvm using PowerShell

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.

Installing from github.com

Retrieve install script from github.com directly:

cd $Env:USERPROFILE;
Invoke-WebRequest https://raw.githubusercontent.com/jchip/nvm/v1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Installing from unpkg.com

Retrieve install script from unpkg.com:

cd $Env:USERPROFILE;
Invoke-WebRequest https://unpkg.com/@jchip/nvm@1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Installing from jsdelivr.net

Retrieve install script from jsdelivr.net:

cd $Env:USERPROFILE;
Invoke-WebRequest https://cdn.jsdelivr.net/npm/@jchip/nvm@1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Windows 7 Updates

PowerShell version 4+ is required.

For Windows 7, you can update it to version 5.1 with the following instructions:

  1. Go to https://www.microsoft.com/en-us/download/details.aspx?id=54616
  2. Click Red Download button
  3. Download Win7AndW2K8R2-KB3191566-x64.zip or Win7-KB3191566-x86.zip for 32-bit
  4. Unzip the file
  5. Run the package Win7AndW2K8R2-KB3191566-x64.msu or Win7-KB3191566-x86.msu for 32-bit

After 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

Troubleshooting

Running scripts disabled

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.

No PowerShell - Manual Install

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:

  1. Download the package zip file from https://github.com/jchip/nvm/archive/v1.6.4/.zip
    1. Extract this file to your home directory. You will get a new directory nvm-1.6.4.
    2. Rename it to nvm, for example: C:\Users\<username>\nvm
  2. Download the zipfile https://nodejs.org/dist/v20.12.1/node-v20.12.1-win-x64.zip
    1. Extract this file to C:\Users\<username>\nvm. You will get a new directory node-v20.12.1-win-x64
    2. Move node.exe from that directory into C:\Users\<username>\nvm
    3. (optional) You can delete the directory after if you want.
  3. Open RegEdit.exe, in HKEY_CURRENT_USER/Environment
    1. Add the following entries
      1. NVM_HOME -> C:\Users\<username>\nvm
      2. NVM_LINK -> C:\Users\<username>\nvm\nodejs\bin
    2. Append the following to the entry Path
      1. ;C:\Users\<username>\nvm\bin;C:\users\<username>\nvm\nodejs\bin
  4. Open Command Prompt, and run nvm install lts, note the version installed, and then nvm link <version>.

Make sure to replace <username> above with your actual user name.

Installing Unix nvm

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.

Installing from github.com

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.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://raw.githubusercontent.com/jchip/nvm/v1.6.4/install.sh | bash

Installing from unpkg.com

Retrieve the install script from unpkg.com:

Using cURL and the install script:

NVM_HOME=~/nvm curl -o- https://unpkg.com/@jchip/nvm@1.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://unpkg.com/@jchip/nvm@1.6.4/install.sh | bash

Installing from jsdelivr.net

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.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://cdn.jsdelivr.net/npm/@jchip/nvm@1.6.4/install.sh | bash

Usage

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

Environments

These env flags can be set:

namevaluesdescription
NVM_PROXYstringAn URL to a network proxy
NVM_VERIFY_SSLtrue/falseturn on/off node.js verify SSL certificates

License

MIT

About

nvm: a universal node.js version manager for Windows (no admin) and Unix

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

@jchip/nvm

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.

Table Of Contents

Installing Windows nvm using PowerShell

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.

Installing from github.com

Retrieve install script from github.com directly:

cd $Env:USERPROFILE;
Invoke-WebRequest https://raw.githubusercontent.com/jchip/nvm/v1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Installing from unpkg.com

Retrieve install script from unpkg.com:

cd $Env:USERPROFILE;
Invoke-WebRequest https://unpkg.com/@jchip/nvm@1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Installing from jsdelivr.net

Retrieve install script from jsdelivr.net:

cd $Env:USERPROFILE;
Invoke-WebRequest https://cdn.jsdelivr.net/npm/@jchip/nvm@1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Windows 7 Updates

PowerShell version 4+ is required.

For Windows 7, you can update it to version 5.1 with the following instructions:

  1. Go to https://www.microsoft.com/en-us/download/details.aspx?id=54616
  2. Click Red Download button
  3. Download Win7AndW2K8R2-KB3191566-x64.zip or Win7-KB3191566-x86.zip for 32-bit
  4. Unzip the file
  5. Run the package Win7AndW2K8R2-KB3191566-x64.msu or Win7-KB3191566-x86.msu for 32-bit

After 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

Troubleshooting

Running scripts disabled

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.

No PowerShell - Manual Install

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:

  1. Download the package zip file from https://github.com/jchip/nvm/archive/v1.6.4/.zip
    1. Extract this file to your home directory. You will get a new directory nvm-1.6.4.
    2. Rename it to nvm, for example: C:\Users\<username>\nvm
  2. Download the zipfile https://nodejs.org/dist/v20.12.1/node-v20.12.1-win-x64.zip
    1. Extract this file to C:\Users\<username>\nvm. You will get a new directory node-v20.12.1-win-x64
    2. Move node.exe from that directory into C:\Users\<username>\nvm
    3. (optional) You can delete the directory after if you want.
  3. Open RegEdit.exe, in HKEY_CURRENT_USER/Environment
    1. Add the following entries
      1. NVM_HOME -> C:\Users\<username>\nvm
      2. NVM_LINK -> C:\Users\<username>\nvm\nodejs\bin
    2. Append the following to the entry Path
      1. ;C:\Users\<username>\nvm\bin;C:\users\<username>\nvm\nodejs\bin
  4. Open Command Prompt, and run nvm install lts, note the version installed, and then nvm link <version>.

Make sure to replace <username> above with your actual user name.

Installing Unix nvm

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.

Installing from github.com

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.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://raw.githubusercontent.com/jchip/nvm/v1.6.4/install.sh | bash

Installing from unpkg.com

Retrieve the install script from unpkg.com:

Using cURL and the install script:

NVM_HOME=~/nvm curl -o- https://unpkg.com/@jchip/nvm@1.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://unpkg.com/@jchip/nvm@1.6.4/install.sh | bash

Installing from jsdelivr.net

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.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://cdn.jsdelivr.net/npm/@jchip/nvm@1.6.4/install.sh | bash

Usage

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

Environments

These env flags can be set:

namevaluesdescription
NVM_PROXYstringAn URL to a network proxy
NVM_VERIFY_SSLtrue/falseturn on/off node.js verify SSL certificates

License

MIT

About

nvm: a universal node.js version manager for Windows (no admin) and Unix

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

@jchip/nvm

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.

Table Of Contents

Installing Windows nvm using PowerShell

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.

Installing from github.com

Retrieve install script from github.com directly:

cd $Env:USERPROFILE;
Invoke-WebRequest https://raw.githubusercontent.com/jchip/nvm/v1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Installing from unpkg.com

Retrieve install script from unpkg.com:

cd $Env:USERPROFILE;
Invoke-WebRequest https://unpkg.com/@jchip/nvm@1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Installing from jsdelivr.net

Retrieve install script from jsdelivr.net:

cd $Env:USERPROFILE;
Invoke-WebRequest https://cdn.jsdelivr.net/npm/@jchip/nvm@1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Windows 7 Updates

PowerShell version 4+ is required.

For Windows 7, you can update it to version 5.1 with the following instructions:

  1. Go to https://www.microsoft.com/en-us/download/details.aspx?id=54616
  2. Click Red Download button
  3. Download Win7AndW2K8R2-KB3191566-x64.zip or Win7-KB3191566-x86.zip for 32-bit
  4. Unzip the file
  5. Run the package Win7AndW2K8R2-KB3191566-x64.msu or Win7-KB3191566-x86.msu for 32-bit

After 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

Troubleshooting

Running scripts disabled

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.

No PowerShell - Manual Install

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:

  1. Download the package zip file from https://github.com/jchip/nvm/archive/v1.6.4/.zip
    1. Extract this file to your home directory. You will get a new directory nvm-1.6.4.
    2. Rename it to nvm, for example: C:\Users\<username>\nvm
  2. Download the zipfile https://nodejs.org/dist/v20.12.1/node-v20.12.1-win-x64.zip
    1. Extract this file to C:\Users\<username>\nvm. You will get a new directory node-v20.12.1-win-x64
    2. Move node.exe from that directory into C:\Users\<username>\nvm
    3. (optional) You can delete the directory after if you want.
  3. Open RegEdit.exe, in HKEY_CURRENT_USER/Environment
    1. Add the following entries
      1. NVM_HOME -> C:\Users\<username>\nvm
      2. NVM_LINK -> C:\Users\<username>\nvm\nodejs\bin
    2. Append the following to the entry Path
      1. ;C:\Users\<username>\nvm\bin;C:\users\<username>\nvm\nodejs\bin
  4. Open Command Prompt, and run nvm install lts, note the version installed, and then nvm link <version>.

Make sure to replace <username> above with your actual user name.

Installing Unix nvm

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.

Installing from github.com

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.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://raw.githubusercontent.com/jchip/nvm/v1.6.4/install.sh | bash

Installing from unpkg.com

Retrieve the install script from unpkg.com:

Using cURL and the install script:

NVM_HOME=~/nvm curl -o- https://unpkg.com/@jchip/nvm@1.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://unpkg.com/@jchip/nvm@1.6.4/install.sh | bash

Installing from jsdelivr.net

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.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://cdn.jsdelivr.net/npm/@jchip/nvm@1.6.4/install.sh | bash

Usage

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

Environments

These env flags can be set:

namevaluesdescription
NVM_PROXYstringAn URL to a network proxy
NVM_VERIFY_SSLtrue/falseturn on/off node.js verify SSL certificates

License

MIT

About

nvm: a universal node.js version manager for Windows (no admin) and Unix

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

@jchip/nvm

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.

Table Of Contents

Installing Windows nvm using PowerShell

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.

Installing from github.com

Retrieve install script from github.com directly:

cd $Env:USERPROFILE;
Invoke-WebRequest https://raw.githubusercontent.com/jchip/nvm/v1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Installing from unpkg.com

Retrieve install script from unpkg.com:

cd $Env:USERPROFILE;
Invoke-WebRequest https://unpkg.com/@jchip/nvm@1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Installing from jsdelivr.net

Retrieve install script from jsdelivr.net:

cd $Env:USERPROFILE;
Invoke-WebRequest https://cdn.jsdelivr.net/npm/@jchip/nvm@1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Windows 7 Updates

PowerShell version 4+ is required.

For Windows 7, you can update it to version 5.1 with the following instructions:

  1. Go to https://www.microsoft.com/en-us/download/details.aspx?id=54616
  2. Click Red Download button
  3. Download Win7AndW2K8R2-KB3191566-x64.zip or Win7-KB3191566-x86.zip for 32-bit
  4. Unzip the file
  5. Run the package Win7AndW2K8R2-KB3191566-x64.msu or Win7-KB3191566-x86.msu for 32-bit

After 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

Troubleshooting

Running scripts disabled

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.

No PowerShell - Manual Install

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:

  1. Download the package zip file from https://github.com/jchip/nvm/archive/v1.6.4/.zip
    1. Extract this file to your home directory. You will get a new directory nvm-1.6.4.
    2. Rename it to nvm, for example: C:\Users\<username>\nvm
  2. Download the zipfile https://nodejs.org/dist/v20.12.1/node-v20.12.1-win-x64.zip
    1. Extract this file to C:\Users\<username>\nvm. You will get a new directory node-v20.12.1-win-x64
    2. Move node.exe from that directory into C:\Users\<username>\nvm
    3. (optional) You can delete the directory after if you want.
  3. Open RegEdit.exe, in HKEY_CURRENT_USER/Environment
    1. Add the following entries
      1. NVM_HOME -> C:\Users\<username>\nvm
      2. NVM_LINK -> C:\Users\<username>\nvm\nodejs\bin
    2. Append the following to the entry Path
      1. ;C:\Users\<username>\nvm\bin;C:\users\<username>\nvm\nodejs\bin
  4. Open Command Prompt, and run nvm install lts, note the version installed, and then nvm link <version>.

Make sure to replace <username> above with your actual user name.

Installing Unix nvm

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.

Installing from github.com

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.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://raw.githubusercontent.com/jchip/nvm/v1.6.4/install.sh | bash

Installing from unpkg.com

Retrieve the install script from unpkg.com:

Using cURL and the install script:

NVM_HOME=~/nvm curl -o- https://unpkg.com/@jchip/nvm@1.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://unpkg.com/@jchip/nvm@1.6.4/install.sh | bash

Installing from jsdelivr.net

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.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://cdn.jsdelivr.net/npm/@jchip/nvm@1.6.4/install.sh | bash

Usage

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

Environments

These env flags can be set:

namevaluesdescription
NVM_PROXYstringAn URL to a network proxy
NVM_VERIFY_SSLtrue/falseturn on/off node.js verify SSL certificates

License

MIT

About

nvm: a universal node.js version manager for Windows (no admin) and Unix

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

@jchip/nvm

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.

Table Of Contents

Installing Windows nvm using PowerShell

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.

Installing from github.com

Retrieve install script from github.com directly:

cd $Env:USERPROFILE;
Invoke-WebRequest https://raw.githubusercontent.com/jchip/nvm/v1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Installing from unpkg.com

Retrieve install script from unpkg.com:

cd $Env:USERPROFILE;
Invoke-WebRequest https://unpkg.com/@jchip/nvm@1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Installing from jsdelivr.net

Retrieve install script from jsdelivr.net:

cd $Env:USERPROFILE;
Invoke-WebRequest https://cdn.jsdelivr.net/npm/@jchip/nvm@1.6.4/install.ps1 -OutFile install.ps1;
.\install.ps1 -nvmhome $Env:USERPROFILE\nvm;
del install.ps1

Windows 7 Updates

PowerShell version 4+ is required.

For Windows 7, you can update it to version 5.1 with the following instructions:

  1. Go to https://www.microsoft.com/en-us/download/details.aspx?id=54616
  2. Click Red Download button
  3. Download Win7AndW2K8R2-KB3191566-x64.zip or Win7-KB3191566-x86.zip for 32-bit
  4. Unzip the file
  5. Run the package Win7AndW2K8R2-KB3191566-x64.msu or Win7-KB3191566-x86.msu for 32-bit

After 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

Troubleshooting

Running scripts disabled

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.

No PowerShell - Manual Install

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:

  1. Download the package zip file from https://github.com/jchip/nvm/archive/v1.6.4/.zip
    1. Extract this file to your home directory. You will get a new directory nvm-1.6.4.
    2. Rename it to nvm, for example: C:\Users\<username>\nvm
  2. Download the zipfile https://nodejs.org/dist/v20.12.1/node-v20.12.1-win-x64.zip
    1. Extract this file to C:\Users\<username>\nvm. You will get a new directory node-v20.12.1-win-x64
    2. Move node.exe from that directory into C:\Users\<username>\nvm
    3. (optional) You can delete the directory after if you want.
  3. Open RegEdit.exe, in HKEY_CURRENT_USER/Environment
    1. Add the following entries
      1. NVM_HOME -> C:\Users\<username>\nvm
      2. NVM_LINK -> C:\Users\<username>\nvm\nodejs\bin
    2. Append the following to the entry Path
      1. ;C:\Users\<username>\nvm\bin;C:\users\<username>\nvm\nodejs\bin
  4. Open Command Prompt, and run nvm install lts, note the version installed, and then nvm link <version>.

Make sure to replace <username> above with your actual user name.

Installing Unix nvm

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.

Installing from github.com

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.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://raw.githubusercontent.com/jchip/nvm/v1.6.4/install.sh | bash

Installing from unpkg.com

Retrieve the install script from unpkg.com:

Using cURL and the install script:

NVM_HOME=~/nvm curl -o- https://unpkg.com/@jchip/nvm@1.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://unpkg.com/@jchip/nvm@1.6.4/install.sh | bash

Installing from jsdelivr.net

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.6.4/install.sh | bash

or wget:

NVM_HOME=~/nvm wget -qO- https://cdn.jsdelivr.net/npm/@jchip/nvm@1.6.4/install.sh | bash

Usage

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

Environments

These env flags can be set:

namevaluesdescription
NVM_PROXYstringAn URL to a network proxy
NVM_VERIFY_SSLtrue/falseturn on/off node.js verify SSL certificates

License

MIT

About

nvm: a universal node.js version manager for Windows (no admin) and Unix

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages