跳到内容

第 0 卷 / 第 5 章 / 第 4 课

5.4 依赖与构建工具速查 ​

类型:参考页,不要求顺序阅读

适用范围:Python/pip、npm、Maven 与 Gradle;具体版本以项目 Wrapper 和 CI 为准

这页用于定位命令,不替代项目自己的 README 和 Wrapper。

生态对照 ​

生态清单lock/锁状态项目级入口依赖检查
Python/pippyproject.toml、requirements 输入由所选工具生成python -m pippip inspect、pip check
npmpackage.jsonpackage-lock.jsonnpm run、npm cinpm ls、npm explain
Mavenpom.xml无默认完整 lock./mvnwdependency:tree、help:effective-pom
Gradlebuild.gradle(.kts)可选 gradle.lockfile./gradlewdependencies、dependencyInsight

Maven 与 Gradle ​

目标MavenGradle
干净验证./mvnw clean verify./gradlew clean check
打包./mvnw package./gradlew build
依赖树./mvnw dependency:tree./gradlew dependencies
单项来源dependency:tree -Dincludes=GROUP:NAMEdependencyInsight --dependency NAME --configuration runtimeClasspath
工具版本./mvnw --version./gradlew --version

Maven 生命周期是阶段序列;Gradle 构建是 task graph。Gradle 能并行或增量执行合适任务,Maven 也有并行构建选项。不能用“一个串行、一个并行”概括真实性能。

安装与重建 ​

bash
# Python:先激活虚拟环境
python -m pip install -r requirements.txt
python -m pip check

# npm:lock 与清单必须匹配
npm ci
npm ls --all

# Maven / Gradle
./mvnw clean verify
./gradlew clean build

按当前项目选择对应命令组,前提是清单、Wrapper 和所需工具已经存在,不要把四组当成连续脚本运行。npm ci 还会先删除已有的 node_modules,且默认会运行适用的生命周期脚本。

这些命令可能访问项目配置的仓库。Maven -o、Gradle --offline 和 npm --offline 会在本地制品或缓存缺项时失败。pip 离线安装需要准备本地 wheel/源码目录,例如 python -m pip install --no-index --find-links=./wheelhouse -r requirements.txt;--no-index 本身不会把缓存变成完整的软件源。

Git 建议 ​

提交清单、lock/锁状态、Wrapper 和必要的共享配置。忽略 .venv/、node_modules/、target/、.gradle/、build/。IDE 目录按团队文件级规则处理。

官方核对入口 ​

→ 打开综合实验

Built with VitePress | Software Systems Atlas