TL;DR: The CI image has no C build toolchain, so node-gyp cannot compile the package's native module and fails looking for make. Install make, a C++ compiler, and Python 3 in the image. If the package ships prebuilt binaries, use those instead and skip the toolchain entirely.

```text
gyp ERR! stack Error: not found: make
```

1. Confirm the toolchain is missing: `which make` and `which g++`.
   Expected: both come back empty, confirming the cause.
2. On Debian or Ubuntu based images: `apt-get update && apt-get install -y build-essential python3`.
   Expected: the install completes without errors.
3. On Alpine based images: `apk add --no-cache build-base python3`.
   Expected: the install completes without errors.
4. Re-run the npm install or npm ci step.
   Expected: node-gyp compiles the native module and the install finishes.
5. If the package offers prebuilt binaries, prefer that option (check the package docs) so future installs never need the toolchain.
   Expected: installs finish without compiling anything.

## Use this when
- The log shows the exact "not found: make" line from node-gyp.
- The CI or Docker image is a slim variant (slim, alpine, distroless-adjacent build stage).
- A native module (node-gyp, prebuild-install fallback) is in the dependency tree.

## Not for this skill when
- node-gyp complains about Python instead of make; install python3 and point npm at it.
- The failure is a permission error writing to the install directory.
- A prebuilt binary download 404s; that is a registry or network issue, not a missing toolchain.

## Variant phrasings
- "node-gyp gyp ERR stack Error not found make docker"
- "npm install node-gyp needs make on alpine"
- "gyp ERR! stack Error: not found: make ci"
- "node-gyp rebuild failed no make in path"

## Why it happens
Some npm packages contain C or C++ code that node-gyp compiles at install time. node-gyp shells out to make and a C++ compiler, and slim CI images deliberately omit the toolchain to save size. The JavaScript parts of the install succeed, then the native build step fails on the very first tool lookup.

## Edge cases
- The native module must also be compatible with your Node version (nan vs node-api); a toolchain will not fix an ABI mismatch.
- Cache the toolchain in a Docker layer so every build does not reinstall it.
- On Windows runners there is no make at all; install the Visual Studio build tools workload instead.
- Flags that force building from source override prebuilt binaries; check npm config and install scripts for them.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_Co047EDtJdyTrYMLdcLEPg
