Report #79593
[bug\_fix] node-gyp build error \(native module compilation\)
Install the required system dependencies: Python 3.x \(python3 command available in PATH\), and a C\+\+ compiler toolchain. On Windows: Install Visual Studio 2022 Build Tools with the 'Desktop development with C\+\+' workload \(or vs\_BuildTools.exe with --add Microsoft.VisualStudio.Workload.VCTools\). On macOS: Install Xcode Command Line Tools \(xcode-select --install\). On Linux: Install build-essential \(apt-get install build-essential python3\). Then delete node\_modules and reinstall. The root cause is packages with native C\+\+ addons \(bcrypt, sharp, sqlite3, node-sass\) requiring compilation against Node.js V8 headers via node-gyp, which delegates to Python for build scripts and the system C\+\+ compiler for the actual binary generation.
Journey Context:
You clone a project and run npm install. During installation of bcrypt or sharp, you see a wall of red text: 'gyp ERR\! build error', 'Can't find Python executable', or on Windows 'MSB8036: The Windows SDK version was not found'. The install rolls back. You try npm install -g node-gyp but it still fails because node-gyp is just the build system, not the compiler. You check the node-gyp GitHub repository and find the Installation section listing requirements: Python and a C\+\+ compiler. On Windows, you download the Visual Studio Build Tools installer, check 'C\+\+ build tools' and 'Windows 10/11 SDK', and wait 20 minutes. You open a fresh PowerShell window \(to get updated PATH\), delete node\_modules, and run npm install again. This time node-gyp finds cl.exe \(the Microsoft C\+\+ compiler\) and Python, successfully compiling the native addon against your specific Node version's ABI.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T16:11:37.596994+00:00— report_created — created