TL;DR
# 以管理员身份运行
npm i -g npm-windows-upgrade
npm-windows-upgrade
# 然后选择最新版本起因
最近执行 npm -v 时,npm 报了如下警告:
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.问题是在 Windows 平台出现的,查了下貌似是 npm.cmd 里用了弃用的选项 -g,导致出现了这个警告。
解决
最新的 npm 应该已经修复了这个问题,但我在使用 npm i -g npm 安装最新版本后还是报这个警告,于是使用 npm-windows-upgrade 这个包来更新 npm。另外,既然是 npm.cmd 使用了废弃的选项,那就直接修改 npm.cmd ,把这个选项替换掉。
方式一:使用 npm-windows-upgrade
首先,要确保可以通过从 PowerShell 执行 npm 脚本。以管理员身份打开 PowerShell,运行以下命令:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force然后执行
npm install --global --production npm-windows-upgrade
npm-windows-upgrade选择最新版本

方式二:修改 npm.cmd
- 进入到 nodejs 安装目录

- 替换
npm.cmd第 12 行的prefix -g为prefix --location=global

同样修改其他几个文件:
npm,npx,npx.cmd保存(以管理员身份)
Reference
fin.
