/npm-windows-upgrade

:rocket: Upgrade npm on Windows

Primary LanguageJavaScriptMIT LicenseMIT

Upgrade npm on Windows

windows build status npm version dependencies Upgrading npm on Windows requires manual steps to ensure that PowerShell/CMD find the new version of npm. This is a small tool made with ❤️ for npm and Node, reducing the process to a simple command.

Usage

First, ensure that you can execute scripts on your system by running the following command from an elevated PowerShell. To run PowerShell as Administrator, click Start, search for PowerShell, right-click PowerShell and select Run as Administrator.

Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force

Then, to install and use this upgrader tool, run the following command (also from an elevated PowerShell or cmd.exe). Note: If you're running a Node version lower than 4.0, please use npm-windows-upgrade@3.1.1, which is the last version to support older versions of Node.js.

npm install --global --production npm-windows-upgrade
npm-windows-upgrade

Want to just install the latest version? Sure:

npm-windows-upgrade --npm-version latest

The tool will show you a list of all the published and available versions of npm (including pre-release and beta versions). Choose the one you want to install and let it do its thing!

Advanced Usage

Usage: npm-windows-upgrade [options]

Options:

-h, --help                        Output usage information
-V, --version                     Output the version number
-d, --no-dns-check                Disable the internet connectivity test
-e, --no-execution-policy-check   Disable the PowerShell execution policy test
-p, --no-spinner                  Disable the spinner animation
-n, --npm-path <path>             (Optional) If passed, npm will be upgraded in the specified location
-v, --npm-version <version>       (Optional) If passed, npm will be upgraded/downgraded to the specified version

If you have trouble with the script, consider adding parameters manually. A common issue is that the script fails to find npm (and therefore doesn't know where to install it) - in that case, pass the location manually.

npm-windows-upgrade --npm-path "C:\nodejs"

To manually specify a version to install, pass the version parameter:

npm-windows-upgrade --npm-version 5.5.0

To override the internet connection check, pass --no-dns-check. To disable the initial prompt, pass --no-prompt.

Debug Mode

To see debug output, set a DEBUG environment variable ($env:DEBUG="npm-windows-upgrade")

Issues & Support

Please do report your issues on GitHub. There are a bunch of Windows versions, hundreds of different ways to install Node and npm, and it's likely that this script won't work with a few of them. If you run into trouble and need npm upgraded as soon as possible, please follow the manual instructions.

This tool was made with ❤️ for npm and Node, but it is provided "as is", without warranty of any kind, expressed or implied. For details, please consult the LICENSE file.

Fix an Attempted Upgrade

Chances are that you attempted to upgrade npm before, it somehow failed, and you then went looking for this tool. If the tool fails to upgrade, it may be troubled by partial changes done during npm install npm or npm upgrade npm. In that case, you will have to completely uninstall Node:

  • Uninstall Node.js (select Uninstall, not the Repair option).
  • Go into %programfiles%\nodejs and delete the entire folder.
  • Delete %appdata%\npm and %appdata%\npm-cache.
  • Edit your PATH and remove everything that references npm (to do so, hit "Start" and search for "Environment Variables").
  • Reinstall Node, then install this tool - and only use this tool to upgrade npm, do not attempt to run npm install npm.

:memp: Used Chocolatey? If you used Chocolatey (https://chocolatey.org/) to install Node.js, be sure to check if npm is removed from the choco\bin directory by running the following command: where.exe npm. Should it still be there, you will need to either choco uninstall npm or delete the files from this bin directory.

More Useful Node.js Stuff

Microsoft is working hard to make sure that our users have the best possible experience with Node.js. For a helpful set of content that makes it easier to avoid any potential gotchas, go check out our Node.js Guidelines - a collection of tips and advanced best practices!

Contributing

Contributions are extremely welcome! For JavaScript code, please run grunt test to check your code against JSCS and JSHint. There's no formal coding guideline for the PowerShell pieces of this tool, but do write code that is commented and comprehensible.

License

MIT, please see LICENSE for details. Copyright (c) 2015 - 2017 Felix Rieseberg.