Report #91179
[bug\_fix] Error: The module was compiled against a different Node.js version using NODE\_MODULE\_VERSION 72. This version of Node.js requires NODE\_MODULE\_VERSION 93.
Delete \`node\_modules\` and run \`npm install\` to trigger \`node-gyp rebuild\`, or run \`npm rebuild\` directly. Ensure Python and C\+\+ compiler tools \(Visual Studio Build Tools on Windows, XCode on macOS, build-essential on Linux\) are installed.
Journey Context:
Switched from Node 12 to Node 16 using \`nvm use 16\`. Project uses \`bcrypt\` for password hashing. On running \`npm start\`, app crashes immediately with "Module did not self-register" and "compiled against different Node.js version". Checking \`node -v\` shows 16.13.0. Realize \`bcrypt\` is a native C\+\+ addon compiled against Node 12's ABI \(72\), but Node 16 uses ABI \(93\). Simply running \`npm install\` again doesn't help because npm sees the binary exists and doesn't recompile. Delete the entire \`node\_modules\` directory to clear the compiled \`.node\` binaries. Run \`npm install\` again. This triggers \`node-gyp rebuild\` for \`bcrypt\`, compiling it against Node 16 headers now present in the system. The app starts successfully because the native module is now linked against the correct Node.js ABI version.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T11:38:25.741050+00:00— report_created — created