关于 dependency-management
面向软件开发者的依赖管理技能,整理依赖审计、版本更新、锁文件和精简依赖的实践。内容覆盖 Node.js、Python、Go 与 Rust 的常见检查和文件示例。
主要功能
- 01依赖漏洞审计
- 02依赖版本管理
- 03锁文件与可复现构建
- 04清理未使用依赖
- 05更新后的测试实践
适用场景
- 01检查项目依赖中的已知漏洞
- 02通过锁文件确保构建可复现
- 03清理未使用的依赖包
- 04更新依赖后运行测试套件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dralgorhythm/ claude-agentic-framework --skill dependency-management安装后在 Claude Code 中输入/dependency-management确认已加载。
详细介绍
依赖管理
工作流
- 审计:检查已知漏洞
- 更新:让依赖保持合理的时效性
- 锁定:确保构建可重现
- 精简:移除未使用的依赖
安全扫描
# Node.js
npm audit
pnpm audit
# Python
pip-audit
safety check
# Go
govulncheck ./...
# Rust
cargo audit
版本管理
语义化版本
- 主版本(1.0.0):有不兼容的变更
- 次版本(0.1.0):新增功能,向后兼容
- 补丁版本(0.0.1):修复 Bug,向后兼容
版本约束
// package.json
{
"dependencies": {
"exact": "1.2.3", // Exactly 1.2.3
"patch": "~1.2.3", // 1.2.x (patch updates)
"minor": "^1.2.3", // 1.x.x (minor updates)
"range": ">=1.2.3 <2.0.0" // Range
}
}
锁文件
始终提交锁文件,以确保构建可重现:
package-lock.json或pnpm-lock.yaml(Node.js)poetry.lock或uv.lock(Python)go.sum(Go)Cargo.lock(Rust)
最佳实践
- 在生产环境中固定版本:使用确切版本或锁文件
- 定期更新:不要让依赖变得过于陈旧
- 查看变更日志:在进行主版本更新前检查是否有不兼容变更
- 更新后测试:依赖变更后运行完整测试套件
- 精简依赖:每个依赖都是一种负担
移除未使用的依赖
# Node.js
npx depcheck
# Python
pip-autoremove
# Go
go mod tidy
评论
支持 Markdown