Version Solving - CI/CD Glossary Definition
Version solving is the constraint-satisfaction algorithm inside dependency resolution that searches for a set of package versions meeting every declared range, backtracking when constraints conflict.
Why it can be slow
Version solving is NP-hard in general. Solvers like pip resolvelib and Cargo can spend significant time backtracking, which is why a committed lockfile makes CI installs fast and deterministic.
Related guides
Dependency Resolution - CI/CD Glossary DefinitionDependency Resolution: Dependency resolution is the process a package manager uses to choose concrete version…
Transitive Closure (Dependencies) - CI/CD Glossary DefinitionTransitive Closure (Dependencies): The transitive closure of a dependency set is every package reachable by f…
Lockfile - CI/CD Glossary DefinitionLockfile: A **lockfile** (package-lock.json, Cargo.lock, etc.) pins exact dependency versions so builds are r…