You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
action-setup@v6 does not install pnpm version specified in package_json_file #227
This is probably the same underlying cause as #225
When specifying package_json_file and that package.json file has a packageManager field that specifies the version of pnpm to use, the v6 release does not load the specified version.
This results in the following error, which we are currently seeing across tens of repos:
ERR_PNPM_BROKEN_LOCKFILE The lockfile at "<path>/pnpm-lock.yaml" is broken: expected a single document in the stream, but found more
The packageManager field is set to pnpm 10 in the specified package.json file:
changed the title [-]action-setup@v6 does not load version from `package_json_file`[/-][+]action-setup@v6 does not install pnpm version specified in `package_json_file`[/+]on Apr 13, 2026
My workflow includes an auto-commit step after formatting, so I noticed that the new v6.0 workflow causes the following content to be added to the beginning of pnpm-lock.yaml:
The latest version still has this issue: packageManager specifies 10.33.1, but v11 is actually used, causing the error "This version of pnpm requires at least Node.js v22.13".
Workaround (extract version from package.json with jq)
One workaround that keeps package.json as the source of truth is to extract the plain semver version before running pnpm/action-setup@v6, then pass it through the action's version input.
Activity
[-]action-setup@v6 does not load version from `package_json_file`[/-][+]action-setup@v6 does not install pnpm version specified in `package_json_file`[/+]HowieHz commentedon Apr 14, 2026
link #228 #226
My workflow includes an auto-commit step after formatting, so I noticed that the new v6.0 workflow causes the following content to be added to the beginning of pnpm-lock.yaml:
So it reports that the file is broken.
fix: respect requested pnpm version when bootstrap differs
fix(ci): pin pnpm version to work around action-setup v6 bug
test: add strict version-match jobs to reproduce #225 / #227
ci: go back to v4.4.0 for `pnpm/action-setup`
chore(deps): update ci and dev tooling (major) (#1551)
fix(ci): bump pnpm/action-setup v5→v6 with explicit version pin (#429)
Revert pnpm/action-setup to v5; keep SHA pins
SHA-pin third-party GitHub Actions (#16)
Lukas-Kullmann commentedon Apr 22, 2026
For me, this was fixed by updating to
pnpm@10.33.1. See also the discussing in #228HowieHz commentedon Apr 22, 2026
https://github.com/HowieHz/howiehz-misc/actions/runs/24783370219/job/72520449729?pr=73
3 remaining items
ci: temporarily specify pnpm version manually to avoid mismatch error
fix(ci): pin pnpm version to bypass action-setup@v6 detection bug
ci: revert pnpm/action-setup to v4 and fix first-interaction v3 inputs (
ci: derive pnpm version dynamically from packageManager
ci: derive pnpm version dynamically from packageManager
ci: match pnpm version exactly to packageManager pin (#155)
ci: match pnpm version exactly to packageManager pin (#128)
karlhorky commentedon May 14, 2026
Workaround (extract version from
package.jsonwithjq)One workaround that keeps
package.jsonas the source of truth is to extract the plain semver version before runningpnpm/action-setup@v6, then pass it through the action'sversioninput.In sql-formatter-org/sql-formatter#949, the repo has only
devEngines.packageManager, with a version including an integrity metadata hash:{ "devEngines": { "packageManager": { "name": "pnpm", "version": "11.0.8+sha512.4c4097e1dd2d42372c4e7fa5a791ff28fc75a484c7ac192e64b1df0fdef17594ba982f9b4fed9adfb3c757846f565b799b2763fb3733d1de1bcb82cf46684912" } } }Using
jq, read thisdevEngines.packageManagerversion and remove the hash:NullVoxPopuli commentedon May 21, 2026
was this intended to be one of the breaking changes in v6?
fix(ci): resolve issues found during sandbox validation (#8)
Harden Renovate config for Actions, pnpm and pre-commit
Set up Renovate for automated, drift-safe dependency updates (#271)
build(frontend): declare the pnpm version once, in package.json
build(frontend): declare the pnpm version once, in package.json
chore: 文档站 pnpm 包整体迁入 docs/,根目录去 node 化