For example, https://www.npmjs.com/package/electron-releases states that v19.1.3 has NODE_MODULE_VERSION as 106 and Node's version as 16.14.2.
But https://nodejs.org/en/download/releases/ states that Node 16.14.2 corresponds to NODE_MODULE_VERSION 93.
Stepping back, I'm trying to avoid the error was compiled against a different Node.js version using NODE_MODULE_VERSION 93. This version of Node.js requires NODE_MODULE_VERSION 106. Please try re-compiling or re-installing
.
While I can rebuild, I wonder why Electron's NODE_MODULE_VERSION doesn't seem to follow Node's guideline and possibly solve this hiccup in some way.
Thank you.
This error is unavoidable since Electron uses different Node ABI versions on purpose. The linked documentation states that this is because Electron differs from Node.js because of additions and modifications for using Chromium from the Node.js context, such as the use of BoringSSL instead of OpenSSL.
Thus, you have to rebuild native modules in order to match Electron's ABI version as well as to prepare these modules (just in case) to link against BoringSSL and not OpenSSL as they might expect.