Crossplane "cannot resolve package dependencies" in CI
By Daniel Zoghalchali·Latchkey
Configuration and Provider packages declare dependsOn other packages with version constraints. If those constraints cannot be satisfied against what is installed or pullable, the package manager reports it cannot resolve dependencies and the package stays unhealthy.
What this error means
A Configuration or Provider stays HEALTHY False with an event "cannot resolve package dependencies" naming a dependency and constraint.
crossplane
cannot resolve package dependencies: cannot resolve dependencies:
missing dependency xpkg.upbound.io/upbound/provider-aws-s3
incompatible dependencies: existing provider-family-aws v1.2.0 does not satisfy >=v1.5.0
Diagnose it: state, credentials, or drift?
Infrastructure failures in CI are usually about state access or credentials rather than the configuration itself. Confirm the runner can reach and lock state before reading the plan output.
Pin compatible versions across dependent packages.
Upgrade dependencies together so constraints stay satisfiable.
Verify dependency images and tags exist before installing.
Frequently asked questions
What causes Crossplane "cannot resolve package dependencies" in CI?
There are 2 common causes: a dependency version constraint is unsatisfiable and a dependency cannot be pulled. An installed dependency is older than a dependsOn >= constraint, and no compatible upgrade is allowed, so resolution fails.
How do I fix Crossplane "cannot resolve package dependencies" in CI?
There are 2 fixes depending on which cause you have: upgrade the conflicting dependency and pin compatible dependency versions. Work through them in order, since the first is the most common.
What does Crossplane "cannot resolve package dependencies" in CI actually mean?
A Configuration or Provider stays HEALTHY False with an event "cannot resolve package dependencies" naming a dependency and constraint.
How do I stop Crossplane "cannot resolve package dependencies" in CI happening again?
Pin compatible versions across dependent packages. The prevention section lists 3 changes that keep it from recurring.