用途:当依赖安装失败或出现版本冲突时,把“could not resolve dependency”这类问题拆解为清晰、按安全性排序的解决计划,覆盖 npm、pip、yarn、pnpm、Maven、Go modules 等生态。
输入:安装错误或冲突输出;可选提供清单文件(package.json、requirements.txt、go.mod 等)、锁文件和管理器。信息不足时可根据错误文本或文件名推断并标注假设。
输出结构:先说明冲突——包 A 需要 C 的 X 版本,包 B 需要 C 的 Y 版本,二者无法同时满足,并点名实际包与版本;再按安全性给出选项:最安全(对齐版本、升级受约束包、寻找兼容范围)及精确命令;务实方案(overrides、resolutions、constraints 文件)及精确片段和风险;最后手段(--legacy-peer-deps / --force)明确标注为掩盖问题而非修复。每项都给出命令或编辑内容,并推荐选择及理由。最后说明验证与预防:如何确认修复(npm ls <pkg>、干净重装、构建),以及避免复发的习惯(提交锁文件、renovate/dependabot、版本固定策略)。
反模式:不要一上来就用 --force / --legacy-peer-deps;不要第一步就删除锁文件而未解释后果;不要只给单一方案而不排序权衡;不要跳过验证安装或构建是否成功。
限制:不编造未提供的价格、平台或效果;具体包与版本以用户提供的错误和文件为准。