Matched signals
- ERR_PNPM_FROZEN_LOCKFILE_CHANGED
- pnpm-lock.yaml.*not in sync
- lockfile.*missing
- pnpm ERR!
pnpm frozen lockfile missing or mismatch
What this failure means
pnpm failed because the lockfile is missing, out of sync, or was not committed. pnpm requires an exact lockfile reference for reproducible installs.
Symptoms
Faultline looks for one or more of these log fragments:
ERR_PNPM_FROZEN_LOCKFILE_CHANGED
pnpm-lock.yaml.*not in sync
lockfile.*missing
pnpm ERR!
Diagnosis
pnpm is stricter than npm and yarn about lockfile consistency. Common causes:
pnpm-lock.yamlwas not committed to the repository.- The lockfile is out of sync with
package.json(versions changed but lockfile not updated). pnpm installwas run locally but the updated lockfile was not pushed before CI.- CI is configured with
--frozen-lockfilebut the lockfile is stale.
The error appears as ERR_PNPM_FROZEN_LOCKFILE_CHANGED or similar pnpm validation errors.
Fix steps
-
Ensure
pnpm-lock.yamlis committed to the repository:git status pnpm-lock.yaml -
If
pnpm-lock.yamlis missing, regenerate it locally:pnpm install git add pnpm-lock.yaml git commit -m "Update pnpm lockfile" git push -
If the lockfile is out of sync with
package.json, update it:pnpm install git add pnpm-lock.yaml git commit -m "Sync pnpm lockfile" git push -
Verify the lockfile is in sync before re-running CI:
pnpm install --frozen-lockfile
Validation
pnpm install --frozen-lockfilecompletes without errors.git statusshows no changes topnpm-lock.yaml.- Re-run the CI job.
Why it matters
Lockfile consistency ensures deterministic, repeatable builds. Without it, CI can install different versions than development, causing hard-to-debug failures.
Prevention
- Add
pnpm-lock.yamlto.gitignoreexceptions if needed. - Use
--frozen-lockfilein CI to enforce lockfile consistency. - Set up pre-commit hooks to catch uncommitted lockfile changes.
Try it locally
pnpm install
pnpm install --frozen-lockfile
pnpm install --frozen-lockfile
How Faultline detects it
Use faultline explain pnpm-lockfile-missing to see the full playbook.
faultline analyze build.log
faultline explain pnpm-lockfile-missing
Generated from playbooks/bundled/log/build/pnpm-lockfile-missing.yaml. Do not edit directly.