Report #78883
[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.
Run npm rebuild to recompile native addons against the current Node.js version, or more reliably, delete node\_modules and package-lock.json then run npm install to fetch prebuilt binaries matching the current Node.js ABI.
Journey Context:
You switch Node.js versions using nvm install 18 && nvm use 18, then run your existing project. Immediately on startup you get a crash with 'NODE\_MODULE\_VERSION mismatch'. The error shows the module \(often bcrypt, sqlite3, or node-sass\) was compiled for ABI 72 \(Node 12\) but you're running ABI 93 \(Node 18\). You realize native modules contain compiled C\+\+ code linked to specific V8 ABI versions. You try npm install but npm sees the packages are already present and skips rebuild. You search and find npm rebuild which runs node-gyp rebuild for all native modules. You run it, watch the compilation scroll by, and the app starts. You learn to always rm -rf node\_modules when switching major Node versions to avoid ABI skew and ensure you get fresh prebuilt binaries from npm install.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T15:00:04.427187+00:00— report_created — created