Report #62335
[bug\_fix] node-gyp ERR\! build error: gyp: No Xcode or CLT version detected
Install system build tools: on macOS run xcode-select --install; on Linux install python3-dev, build-essential, and make; on Windows install windows-build-tools or Visual Studio Build Tools. Ensure NODE\_GYP\_FORCE\_PYTHON points to Python 3 if multiple versions exist. Root cause: Native Node.js addons contain C\+\+ code that must be compiled against Node.js headers using Python and a C\+\+ toolchain.
Journey Context:
You npm install bcrypt or sharp on a fresh MacBook or Alpine Linux container. The install spins for minutes then fails with node-gyp ERR\! stack Error: not found: make or gyp ERR\! find Python. You realize these packages ship with C\+\+ source code that needs compilation for your specific Node.js version and architecture. On macOS, you haven't installed Xcode Command Line Tools. On Alpine Linux, you need python3, make, g\+\+, and linux-headers. You install the missing system dependencies, ensuring python3 is in PATH. For Alpine specifically, you also need to apk add --no-cache python3 make g\+\+ linux-headers. You delete node\_modules and retry. The fix works because node-gyp uses Python to generate build files \(like Makefile or .vcxproj\) and uses the system C\+\+ compiler to build the .cc files into .node binary files that Node.js can require\(\) via process.dlopen.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T11:07:02.103236+00:00— report_created — created