Skip to content
Latchkey

sbt "unresolved dependency" in CI

Ivy walked your resolvers looking for the module and revision and came back empty. sbt prints "unresolved dependency" with the exact organization, name, and revision it could not satisfy.

What this error means

sbt update fails with "[error] (update) sbt.librarymanagement.ResolveException: unresolved dependency: org#name;1.0.0: not found".

sbt
[error] (update) sbt.librarymanagement.ResolveException: unresolved dependency:
com.typesafe.akka#akka-actor_2.13;2.6.99: not found

Common causes

The revision does not exist

The version pinned in libraryDependencies was never published (a typo like 2.6.99), so Ivy finds the module but no matching revision.

A private repository is missing or unauthenticated

The module is only on an internal Nexus/Artifactory that CI never adds to resolvers, or the credentials for it are not injected.

How to fix it

Pin a published revision

  1. Check the library page for a real released version.
  2. Update the revision in libraryDependencies.
  3. Run sbt update to confirm it resolves.
build.sbt
libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.6.21"

Add credentials for a private resolver

Supply repository credentials from CI secrets so the internal resolver returns the artifact instead of 401.

build.sbt
credentials += Credentials(
  "Artifactory Realm", "nexus.example.com",
  sys.env("NEXUS_USER"), sys.env("NEXUS_PASS"))

How to prevent it

  • Verify versions against the published metadata before pinning them.
  • Store private resolver credentials in CI secrets, not in the repo.
  • Restore ~/.ivy2 and ~/.coursier caches so resolution is fast and stable.

Frequently asked questions

What causes ""unresolved dependency""?
The version pinned in libraryDependencies was never published (a typo like 2.6.99), so Ivy finds the module but no matching revision.
How do I fix "unresolved dependency"?
Pin a published revision

Related guides

References

Run this faster and cheaper on Latchkey managed runners - self-healing included. Start free → 30-day trial · No credit card