Report #76126
[bug\_fix] node-pre-gyp install fails with 404 / Cannot find module '../build/Release/canvas.node'
Install system dependencies \(libpng, cairo, pango\) and build from source, or switch to a package version that provides prebuilt binaries for your Node version, or use npm install --build-from-source=false to force downloading prebuilt binaries.
Journey Context:
You try to install node-canvas or sharp on a new machine. The package uses node-pre-gyp to download prebuilt binaries. If the Node version is brand new \(e.g., Node 20\) or the architecture is ARM64/M1 Mac, the prebuilt binary might not exist yet \(404 on GitHub releases\). The install falls back to compiling from source but fails because the system lacks the C\+\+ libraries \(Cairo, libvips\). You go down a rabbit hole of installing Python, node-gyp, then realize you need system packages \(brew install cairo / apt-get install libvips\). The robust fix is either waiting for/updating to a package version that has the prebuilt binary for their Node version, or properly installing the system build dependencies once so node-gyp can compile.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T10:22:15.475129+00:00— report_created — created