使用npm-windows-upgrade(Powershell)来升级Windows11的npm版本

首先

2022年8月某日,当我尝试使用npx命令创建React应用程序时,出现了警告。我进行了一番调查后发现,通过编辑npm.cmd等文件可以解决问题,或者通过升级npm版本也可以解决。为了避免自己进行编辑,我决定升级npm版本。

环境是在Windows11上使用基本上是Powershell进行命令操作。
已经安装了Node.js的v16.15.1版本。

在运行npm/npx时的警告。

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

请参考以下信息:
https://stackoverflow.com/questions/72401421/message-npm-warn-config-global-global-local-are-deprecated-use-loc

更新之前的版本

在升级前的界面如下所示。即使在版本显示中,也出现了警告。

PS C:\Program Files\nodejs> npm -v
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
8.11.0
PS C:\Program Files\nodejs> npx -v
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
8.11.0

运行 npm-windows-upgrade

在Windows系统中,可以通过npm-windows-upgrade命令来升级npm版本。npm-windows-upgrade实际上是一个Powershell脚本(.ps1),如果没有指定ExecutionPolicy,则无法执行。另外,必须以管理员权限启动Powershell,否则命令会出错。

以管理员权限启动PowerShell。
显示可安装的版本列表,选择所需的版本并按Enter键。

PS C:\Program Files\nodejs> PowerShell -ExecutionPolicy RemoteSigned npm-windows-upgrade
npm-windows-upgrade v6.0.1
? Which version do you want to install? (Use arrow keys)
> 8.15.1
  8.15.0
  8.14.0
  8.13.2
  8.13.1
  8.13.0
  8.12.2
(Move up and down to reveal more choices)

安装过程中的显示大概是这样的。
最后会显示安装的版本,并送别你说:”祝你有个美好的一天!”

PS C:\Windows\system32> PowerShell -ExecutionPolicy RemoteSigned npm-windows-upgrade
npm-windows-upgrade v6.0.1
? Which version do you want to install? 8.15.1
Checked system for npm installation:
According to PowerShell: C:\Program Files\nodejs
According to npm:        C:\Users\kohei\AppData\Roaming\npm
Decided that npm is installed in C:\Program Files\nodejs
Upgrading npm... |

Upgrade finished. Your new npm version is 8.15.1. Have a nice day!

升级后的版本

在升级后的版本中,显示是这样的。警告不再出现。

PS C:\Windows\system32> npm -v
8.15.1
PS C:\Windows\system32> npx -v
8.15.1

最后

我使用Windows 11环境下的npm-windows-upgrade成功升级了npm版本。今天将会过得很愉快。