执行npm全局升级后出现DEP0018弃用警告无法正常使用命令
问题原因
全局执行npm install npm@latest -g跨大版本升级时,出现了新旧版本文件覆盖不全、依赖冲突的情况,导致npm运行时抛出未处理的Promise rejection错误,也就是你看到的DEP0018告警:
(node:1948) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
修复方案
按操作系统选择对应操作即可:
macOS / Linux 系统
- 先卸载损坏的全局npm:
sudo npm uninstall npm -g - 强制清除全局npm残留文件:
sudo rm -rf /usr/local/lib/node_modules/npm - 用Node自带的初始npm重新安装最新版:
sudo npm install npm@latest -g - 执行
npm -v验证,正常输出版本号即为修复完成
Windows 系统
- 打开管理员权限的cmd或PowerShell
- 执行卸载命令:
npm uninstall npm -g - 手动删除两个路径下的npm残留文件:
C:\Users\你的系统用户名\AppData\Roaming\npmC:\Users\你的系统用户名\AppData\Roaming\npm-cache
- 重新执行全局安装命令:
npm install npm@latest -g - 执行
npm -v验证是否修复
兜底方案
如果上述操作后仍报错,直接下载最新版Node.js安装包覆盖安装当前Node环境,安装包会自带适配的稳定版npm,无需单独升级即可正常使用。
内容的提问来源于stack exchange,提问作者JanLi
相关产品推荐
相关产品推荐

