DVC "dvc: command not found" on the runner in CI
The shell could not find a dvc executable because DVC is not installed on the runner. GitHub-hosted images do not ship DVC, so a step must install it first with pip or the setup-dvc action.
What this error means
A step calling dvc pull or dvc repro fails with "dvc: command not found" and exit code 127, before DVC does anything.
/home/runner/work/_temp/script.sh: line 1: dvc: command not found
Error: Process completed with exit code 127.Common causes
DVC was never installed on the runner
The base image has no DVC, and no install step ran, so the binary is absent from PATH.
Installed into a different environment
DVC was pip-installed into a venv that the current step did not activate, so dvc is not on the active PATH.
How to fix it
Install DVC with pip
Install DVC (with the extra for your remote) before using it. Match the extra to S3, GCS, Azure, or gdrive.
python -m pip install "dvc[s3]"
dvc --versionUse the iterative/setup-dvc action
The official action installs DVC and puts it on PATH for later steps.
- uses: iterative/setup-dvc@v1
- run: dvc pullHow to prevent it
- Install DVC in an explicit setup step in every workflow.
- Pick the remote extra (
dvc[s3],dvc[gs],dvc[azure],dvc[gdrive]). - Pin the DVC version so behavior is reproducible across runs.