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

如何移除Angular项目中resolve依赖测试目录里的漏洞包monorepo-symlink-test?

这个包是resolve测试目录下的依赖,并非你的项目直接引入,属于嵌套依赖漏洞。以下是具体解决方法:

1. 定位依赖来源

先找出哪个顶层依赖引入了包含问题测试包的旧版resolve:

npm ls resolve

输出会显示完整的依赖链,比如express > resolve这类关联关系。

2. 升级对应依赖

如果是某个顶层依赖(比如express)带进来的旧版resolve,直接升级该顶层依赖到兼容的最新版本:

npm update [依赖名] --save

示例(假设是express):

npm update express --save

3. 强制指定resolve版本(升级顶层依赖无效时)

在package.json中添加resolutions字段强制使用无漏洞的resolve版本(需配合npm-force-resolutions工具):

  1. 安装工具依赖:
npm install --save-dev npm-force-resolutions
  1. 修改package.json:
{
  // 原有内容保留...
  "resolutions": {
    "resolve": "^1.22.8"
  },
  "scripts": {
    // 原有脚本保留...
    "preinstall": "npx npm-force-resolutions"
  }
}
  1. 重新安装依赖:
rm -rf node_modules package-lock.json
npm install

4. 优化Docker构建流程

确保Docker镜像只安装生产依赖,避免测试类依赖被打包:
在Dockerfile中使用生产依赖安装命令:

npm ci --only=production

或者安装后清理非生产依赖:

npm ci && npm prune --production

完成后重新构建Docker镜像,漏洞即可得到修复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 18:53:14