pnpm / pnpm/setup

pnpm/setup@v2.1.0 fails without libatomic while bootstrapping pnpm 12

Open
#46 0 comments 0 reactions 0 assignees View on GitHub

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/setup main.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.