Helm "found in Chart.yaml, but missing in charts/ directory" - Fix Dependencies in CI
A chart’s Chart.yaml declares dependencies, but the charts/ directory does not contain them. Helm will not pull subcharts implicitly at install time - you must run helm dependency build/update first, which CI often skips.
What this error means
helm install/upgrade/template fails with found in Chart.yaml, but missing in charts/ directory: <dep> or no cached repo found ... (try helm repo update). The dependencies were declared but never vendored into charts/.
Error: found in Chart.yaml, but missing in charts/ directory: postgresql, redisCommon causes
Dependencies never built/vendored
A fresh checkout has Chart.yaml deps but an empty charts/ (the subcharts and Chart.lock were not committed), and CI did not run helm dependency build.
Dependency repo not added
A dependency points at a repo Helm has not added/updated locally, so it cannot resolve or cache it (no cached repo found).
How to fix it
Build dependencies before install
Run helm dependency build (from Chart.lock) or update to populate charts/ before any install/upgrade/template.
helm dependency build ./chart # uses Chart.lock if present
# or, to re-resolve and refresh the lock:
helm dependency update ./chart
helm template ./chartAdd the dependency repos first
- Add and update each dependency’s repo (
helm repo add <name> <url> && helm repo update). - Commit
Chart.locksohelm dependency buildis reproducible in CI. - Order the pipeline so
dependency buildruns before install/upgrade/template.
How to prevent it
- Run
helm dependency buildas an explicit early CI step. - Commit
Chart.lockso dependency versions are pinned and reproducible. - Add required chart repos before resolving dependencies.