"Error: found in requirements.yaml, but missing in charts/ directory" | Satisfying Helm Chart Dependencies
“Error: found in requirements.yaml, but missing in charts/ directory” | Satisfying Helm Chart Dependencies
Background
I’m testing some local changes for the Ghost Helm Chart (Primary Chart). However, when cloning that subdirectory and attempting to test the chart, I get an error about its dependency on the MariaDB Helm Chart (Secondary Chart):
Error: found in requirements.yaml, but missing in charts/ directory
For clarity, the two charts will be referred to as Primary/Secondary, in bold, for this short post.
Fix
Option 1
This will pull the dependent charts dynamically.
cd
to the root of the chart you’re working on from https://github.com/helm/charts. This is based on what’s in your chart’srequirements.yaml
- Then run:
$ helm dependency update
Hang tight while we grab the latest from your chart repositories...
...Unable to get an update from the "local" chart repository (http://127.0.0.1:8879/charts):
Get http://127.0.0.1:8879/charts/index.yaml: dial tcp 127.0.0.1:8879: connect: connection refused
...Successfully got an update from the "incubator" chart repository
...Successfully got an update from the "stable" chart repository
Update Complete. ⎈Happy Helming!⎈
Saving 2 charts
Downloading mariadb from repo https://kubernetes-charts.storage.googleapis.com/
Downloading redis from repo https://kubernetes-charts.storage.googleapis.com/
Deleting outdated charts
Option 2
This is if you want to manage the dependency on the filesystem manually. Ideally, you wouldn’t want to do this.
- In the directory of your primary chart, run:
mkdir -p ./charts
- Extract the contents of the root directory of Secondary Chart into
./charts
. - Now test your Primary Chart to see if the dependency error continues:
helm install --dry-run --name ghost ./