依赖冲突检测
[🕒 预计 10 分钟] | 难度:进阶
1. 什么是模块依赖冲突
当一个模块依赖的某个模块版本,与项目已引用的版本不一致时,就会产生依赖冲突。LingBuilder 会在安装、构建时自动检测并提示。
2. 冲突类型
| 冲突类型 | 说明 |
|---|---|
| 版本冲突 | 两个模块需要同一模块的不同版本 |
| 接口冲突 | 两个模块导出了相同的函数名或类型名 |
| 平台冲突 | 模块不支持当前构建的平台(Win32 / x64) |
3. 检测时机
LingBuilder 在以下时机自动执行依赖检查:
- 安装模块时:检查新模块与已安装模块是否兼容。
- 添加项目引用时:检查项目依赖树是否一致。
- 构建项目时:发出未满足依赖的警告或错误。
4. 处理版本冲突
- 当出现版本冲突时,模块管理 中会用黄色警告标记冲突模块。
- 打开 模块管理,查看冲突详情,确认冲突的模块与版本。
- 选择以下方案之一:
- 升级低版本模块:将共用模块升级到满足双方要求的版本。
- 降级高版本模块:回退到旧版本,牺牲新模块的功能。
- 移除不必要模块:若某个模块不再使用,卸载它以消除冲突。
5. 处理接口冲突
接口冲突时,LingBuilder 会在构建输出中提示 重复定义 的错误信息:
- 根据错误提示定位到两个模块。
- 在 项目 > 模块管理 中卸载其中一个不再需要的模块。
- 重新构建项目,确认冲突消失。
WARNING
卸载被其他模块依赖的模块可能导致连锁缺失。卸载前请先查看该模块的依赖关系,确保没有其他模块引用它。