pnpm/setup@v2.1.0 fails without libatomic while bootstrapping pnpm 12
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 140
- Forks
- 19
- Avg merge
- 13h 19m
- Merged PRs (30d)
- 3
Description
Summary
pnpm/setup@v2.1.0 fails on a Linux self-hosted GitHub Actions runner without libatomic.so.1, before it can install the requested runtime or dependencies.
The action says it is downloading pnpm 12.2.1, but the failing executable is under @pnpm/exe/11.7.0. Installing pnpm 12.2.1 directly via https://get.pnpm.io/install.sh succeeds on the same runner.
Reproduction
On a Linux runner where libatomic.so.1 is unavailable:
- uses: pnpm/setup@v2.1.0
with:
version: 12.2.1
runtime: node@24.16.0
install: false
Our actual configuration reads pnpm 12.2.1 from packageManager, with the same result.
Actual result
Downloading pnpm 12.2.1 from the npm registry
==> Downloading pnpm 12.2.1
/home/runner/.local/share/pnpm/package-manager-store/v11/links/@pnpm/exe/11.7.0/.../node_modules/@pnpm/exe/pnpm: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory
Error: "/home/runner/setup-pnpm/pnpm --version" exited with code 127
Expected result
The requested pnpm 12.2.1 executable runs successfully. If libatomic is an unavoidable system requirement, the action should detect it and emit an actionable error, document the requirement, or offer a non-native fallback.
Additional context
- GitHub Actions runner: 2.336.0
pnpm/setup: v2.1.0 (latest release)- Requested pnpm: 12.2.1
- Related native executable issue: https://github.com/pnpm/pnpm/issues/11531
- There is currently no newer commit after v2.1.0 on
pnpm/setupmain.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the failure with pnpm/setup@v2.1.0 on a Linux runner lacking libatomic.so.1, then trace the setup-pnpm invocation that runs pnpm --version. Compare the requested pnpm 12.2.1 with the failing @pnpm/exe/11.7.0 executable. Done means the action handles this dependency with a documented requirement, an actionable error, or a non-native fallback.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, nodejs, typescript
- Domain
- ci-cd, devops, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100