You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel项目npm install出现大量废弃依赖警告及漏洞求助

解决Laravel项目npm install的废弃依赖警告与漏洞问题

问题分析

你看到的npm WARN deprecated警告大多来自间接依赖——也就是你package.json中直接依赖的包所依赖的子包,所以不会出现在你的配置文件里。从你提供的内容来看,项目并没有使用Grunt(无Grunt配置文件或相关依赖),问题根源是项目依赖版本较旧(尤其是Laravel Mix 5.x),导致连锁依赖出现大量废弃提示和安全漏洞。

解决方案步骤

1. 清理旧依赖缓存

先删除旧的依赖文件,避免缓存干扰:

rm -rf node_modules package-lock.json
# Windows系统执行以下命令
# rmdir /s /q node_modules && del package-lock.json

2. 升级核心直接依赖

重点升级几个关键依赖,从根源减少间接依赖的废弃问题:

修改package.json中的依赖版本:

{
  "devDependencies": {
    "@coreui/coreui": "^3.4.0", // 升级到3.x稳定版,兼容Bootstrap 4
    "@fortawesome/fontawesome-free": "^5.15.4", // 升级到最新5.x稳定版
    "@vue/test-utils": "^1.3.0",
    "axios": "^0.21.4", // 修复安全漏洞的稳定版
    "babel-core": "^7.0.0-bridge.0",
    "babel-jest": "^24.9.0",
    "bootstrap": "^4.6.2", // 升级Bootstrap到兼容Popper v2的版本
    "cross-env": "^7.0.3",
    "cross-var": "^1.1.0",
    "jest": "^24.9.0",
    "jquery": "^3.6.4",
    "laravel-mix": "^6.0.49", // 升级到Mix 6稳定版
    "lodash": "^4.17.21",
    "pace": "github:HubSpot/pace#v1.0.2",
    "perfect-scrollbar": "^1.5.5",
    "@popperjs/core": "^2.11.8", // 替换废弃的popper.js
    "resolve-url-loader": "^5.0.0",
    "sass": "^1.69.5",
    "sass-loader": "^10.4.1", // 兼容Mix 6的版本
    "sweetalert2": "^9.17.2",
    "vue": "^2.7.14", // Vue 2的最新稳定版
    "vue-jest": "^3.0.7",
    "vue-template-compiler": "^2.7.14"
  },
  "dependencies": {
    "metismenu": "^3.0.6"
  }
}

调整npm scripts(适配Laravel Mix 6):

Mix 6简化了命令,需要修改scripts部分:

"scripts": {
    "dev": "npm run development",
    "development": "mix",
    "watch": "mix watch",
    "watch-poll": "mix watch -- --watch-options-poll=1000",
    "hot": "mix watch --hot",
    "prod": "npm run production",
    "production": "mix --production",
    "test": "cross-env NODE_ENV=test jest",
    "tdd": "npm run test -- --watch --notify"
}

3. 重新安装依赖并修复漏洞

执行以下命令完成安装和漏洞修复:

npm install
# 自动修复无需破坏性变更的漏洞
npm audit fix
# 若仍有未修复的漏洞,尝试强制修复(注意:可能引入破坏性变更,修复后需测试项目)
npm audit fix --force

4. 验证项目正常运行

运行开发命令测试项目是否能正常编译:

npm run dev

如果出现编译错误,根据提示调整代码(比如Popper的导入路径,Bootstrap 4使用@popperjs/core时需要修改导入语句)。

额外提示

  • 如果升级Laravel Mix后遇到兼容性问题,可参考Laravel Mix官方升级指南调整配置。
  • 若项目依赖的Laravel版本较旧(比如Laravel 6以下),可能无法适配Mix 6,此时建议优先升级Laravel版本,或者保持Mix 5但手动替换部分高风险依赖(比如axios、popper.js)。

内容的提问来源于stack exchange,提问作者009

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 05:27:05