Fix the pnpm-in-container path: pnpm missing from the nodejs image, s/yarn drops its args - #747
Open
IvanTheGeek wants to merge 1 commit into
Open
Fix the pnpm-in-container path: pnpm missing from the nodejs image, s/yarn drops its args#747IvanTheGeek wants to merge 1 commit into
IvanTheGeek wants to merge 1 commit into
Conversation
The nodejs image (node:24.14.0-trixie-slim) ships no pnpm, so everything that runs pnpm inside the container fails with 'pnpm: command not found': s/yarn, and thus 'make node_modules' whenever ./node_modules (the vendored submodule) is absent, e.g. on a fresh clone before submodule init. Nodejs is phasing out bundled corepack, so install pnpm explicitly in the image. Also, s/yarn dropped its arguments — it ran bare 'pnpm', which only prints pnpm's usage text and installs nothing. Now it passes "$@" through, and with no arguments runs 'pnpm install' (like bare 'yarn' used to do), which is what the 'make node_modules' fallback expects. Verified: 'docker compose run --rm nodejs pnpm --version' -> 10.34.5, and 's/yarn --version' works. (The to-talkyard Makefile target still calling yarn is deliberately NOT touched here — per the forum discussion, a fix for that is already on a private branch.) Co-authored-by: Claude Fable 5 <noreply@anthropic.com> I, Ivan Rainbolt <talkyard@github-commits.ivanthegeek.com>, agree to the Contributor License Agreement, docs/CLA-v2.txt.
This was referenced Jul 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two small pnpm-migration leftovers that break the pnpm-in-container path:
The nodejs image has no pnpm.
node:24.14.0-trixie-slimdoesn't bundle it (and Nodejs is phasing out bundled corepack), so anything doingdocker compose run --rm nodejs pnpm ...fails withpnpm: command not found. That'ss/yarn, and therefore themake node_modulesfallback — which a fresh clone hits if the vendorednode_modulessubmodule isn't initialized yet. Fix: install pnpm explicitly inimages/nodejs/Dockerfile.s/yarndropped its arguments. It ran barepnpm(no"$@"), which just prints pnpm's usage and installs nothing. Now it passes arguments through, and with no arguments runspnpm install(like bareyarnused to), which is whatmake node_modulesexpects.Verified after the fix:
docker compose run --rm nodejs pnpm --version→ 10.34.5, ands/yarn --versionworks.Deliberately not touched: the
to-talkyardMakefile target that still calls yarn — you mentioned on Ivan's forum that a fix for that is already on a private branch, so this PR stays out of its way. (Found while making the build run with only Docker on the host; more on that experiment soon in the contributor-friendly thread.)🤖 Generated with Claude Code