Report #11642
[bug\_fix] Error: The module was compiled against a different Node.js ABI version
Run 'npm rebuild' or delete node\_modules and run 'npm install' to recompile the native addon against the current Node.js headers. For Electron apps, use 'electron-rebuild'. Ensure consistent Node versions across team via .nvmrc.
Journey Context:
You switched from Node 16 to Node 18 using 'nvm use 18' for a new project feature. You go back to run an old project with 'node server.js'. It crashes immediately with 'Error: The module was compiled against a different Node.js version. ABI version mismatch'. The path points to 'bcrypt.node' or 'sqlite3.node'. You are confused because node\_modules exists. You realize native addons are binary blobs compiled for specific Node ABI versions \(N-API/NaN\). The .node file was compiled for Node 16 ABI 93, but current Node 18 uses ABI 108. You delete node\_modules, run 'npm install' again to trigger node-gyp rebuild against Node 18 headers. The app starts successfully because the native module was recompiled for the current ABI.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T13:49:57.954771+00:00— report_created — created