如何修复npm提示--global、--local已弃用的警告问题
问题说明
执行任意npm、npx命令时弹出如下警告:
npm WARN config global
--global,--localare deprecated. Use--location=globalinstead
该警告是npm 8.0~8.11版本的已知兼容问题,原因是npm、npx内置脚本硬编码了已被废弃的--global传参,不会影响依赖安装、信息查询等功能的正常运行,仅会输出冗余提示。
解决方案
方案1:升级npm到修复版本(推荐)
该问题在npm 8.12.0及以上版本已经被官方修复,直接升级即可彻底解决:
- 以管理员身份打开命令提示符(CMD)或PowerShell
- 执行升级命令:
npm install -g npm@latest --location=global
- 升级完成后执行
npm -v,确认版本号≥8.12.0即可,后续执行npm、npx命令不会再弹出该警告。
方案2:手动修改本地脚本(适用于不想升级npm的场景)
如果需要保留当前npm版本,可以直接修改本地执行脚本去掉警告:
- 打开Node.js安装目录,默认安装路径为
C:\Program Files\nodejs\,自定义安装的用户找到自己设置的安装路径即可 - 在目录中找到
npm.cmd、npx.cmd两个文件,右键选择用记事本/代码编辑器打开 - 将两个文件中所有的
prefix -g文本替换为prefix --location=global,保存文件 - 如果保存时提示权限不足,先关闭编辑器,右键选择「以管理员身份运行」编辑器后再打开对应文件修改即可
- 修改完成后重启命令行窗口,警告就会消失。
方案3:临时忽略(不推荐)
该警告本身不会阻断命令执行,如果只是临时使用npm命令,不需要做任何修改,等待命令正常执行完成即可。
内容的提问来源于stack exchange,提问作者Backend Rule
相关产品推荐
相关产品推荐

