01
依赖管理基础
什么是依赖管理,为什么SDK需要依赖管理,依赖地狱的概念。
核心概念入门
02
语义化版本控制 (SemVer)
主版本号、次版本号、修订号的定义,版本范围与兼容性规则。
版本规范SemVer
03
依赖声明文件
package.json、setup.py、Cargo.toml等配置文件的作用与结构。
配置文件多语言
04
锁定文件机制
lock文件的作用,为什么需要提交到版本控制,与声明文件的区别。
lock版本控制
05
依赖解析算法
深度优先搜索与广度优先搜索,依赖树的构建与冲突解决。
算法依赖树
06
版本约束与范围
精确版本、波浪号、插入号、通配符等约束符号的含义与使用场景。
约束符号
07
传递性依赖
什么是传递性依赖,如何管理间接依赖,传递性依赖的版本冲突。
间接依赖冲突
08
依赖冲突解决
钻石依赖问题,Maven的最近优先策略,npm的嵌套依赖策略。
冲突策略
09
依赖锁定与更新
如何安全地更新依赖,使用工具检查过时依赖,自动化更新策略。
更新自动化
10
私有仓库与镜像
搭建私有包仓库,配置镜像源,企业级依赖管理实践。
私有仓库企业
11
多环境依赖管理
开发、测试、生产环境的依赖分离,条件依赖与可选依赖。
环境条件
12
依赖审计与安全
漏洞扫描工具,依赖签名验证,供应链安全最佳实践。
安全审计
13
Monorepo依赖管理
Monorepo架构下的依赖共享,Workspaces机制,依赖链接。
MonorepoWorkspaces
14
SDK版本发布策略
版本号递增规则,预发布版本(alpha、beta、rc),发布流程。
发布预发布
15
变更日志管理
CHANGELOG的规范,自动生成变更日志,语义化提交与版本关联。
CHANGELOG规范
16
向后兼容性
API兼容性保证,二进制兼容性,行为兼容性,破坏性变更的识别。
兼容性API
17
废弃与移除策略
API废弃标记,废弃周期,移除通知,迁移指南编写。
废弃迁移
18
多语言SDK版本同步
跨语言SDK的版本对齐策略,共享版本号与独立版本号。
多语言同步
19
依赖图可视化
使用工具生成依赖图,分析依赖关系,识别循环依赖。
可视化依赖图
20
循环依赖检测
循环依赖的产生原因,检测工具,重构策略。
循环依赖重构
21
依赖大小优化
减少依赖数量,树摇(Tree Shaking),按需加载,依赖瘦身。
优化Tree Shaking
22
平台特定依赖
操作系统差异,架构差异,条件编译与条件依赖。
平台条件编译
23
依赖缓存策略
本地缓存机制,CI/CD中的缓存优化,缓存失效与清理。
缓存CI/CD
24
版本回滚机制
回滚策略,回滚后的依赖状态管理,回滚测试。
回滚策略
25
依赖管理工具对比
npm、pip、cargo、maven、nuget等工具的异同与选型。
工具对比
26
CI/CD中的依赖管理
流水线中的依赖安装,缓存策略,版本一致性保证。
CI/CD流水线
27
依赖许可证合规
开源许可证类型,许可证兼容性,自动检查工具。
许可证合规
28
SDK依赖的测试策略
依赖模拟(Mock),集成测试中的依赖管理,版本兼容性测试。
测试Mock
29
依赖管理自动化
自动化依赖更新机器人(Dependabot、Renovate),策略配置。
自动化Dependabot
30
未来趋势与最佳实践
依赖管理的演进方向,行业最佳实践总结,常见误区与建议。
趋势最佳实践