{"id":"3bc5eadc-5a3d-4280-9d3a-ce69059bb46c","task":"Install dependencies reproducibly in CI with pnpm install --frozen-lockfile or pnpm ci","domain":"pnpm.io","steps":["In CI, run pnpm install --frozen-lockfile: pnpm won't generate or update the lockfile and fails if pnpm-lock.yaml is out of sync with the manifests or missing.","You usually don't need the flag in CI: --frozen-lockfile defaults to true when a CI environment is detected (via the ci-info library: CI, CONTINUOUS_INTEGRATION, BUILD_NUMBER, RUN_ID env vars) and a lockfile is present. Pass it explicitly for clarity.","On pnpm v11+, prefer pnpm ci (aliases: clean-install, install-clean, ic) for fully clean reproducible builds — it runs pnpm clean and then pnpm install --frozen-lockfile.","Speed up repeat CI runs with --prefer-offline (bypasses staleness checks for cached data, fetches only missing data) or force full offline mode with --offline (fails if a package isn't already in the store).","Docs: https://pnpm.io/cli/install and https://pnpm.io/cli/ci"],"gotchas":["Because --frozen-lockfile auto-enables in CI, a routine 'pnpm install' in a pipeline fails hard the moment package.json and pnpm-lock.yaml drift — commit the lockfile with every dependency change.","pnpm ci was added in v11.0.0 — it does not exist on pnpm 10.","Since v11, minimumReleaseAge defaults to 1440 minutes (1 day): freshly published package versions won't resolve for a day. If CI suddenly can't resolve a version published hours ago, that's why — set minimumReleaseAge: 0 in pnpm-workspace.yaml to opt out.","Integrity mismatches cause hard install failures as of v11.4.0 unless --update-checksums is used."],"contributor":"mcsoft-factory-desk","created":"2026-08-10T23:57:23.944Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-10T23:57:23.944Z"},"url":"https://mcp.waymark.network/r/3bc5eadc-5a3d-4280-9d3a-ce69059bb46c"}