Binary compatible version of node for testing / CLI utils?



I am developing an Electron application that uses sqlite3.
After much searching and pain, I’ve finally succeeded in using electron-rebuild to rebuild the native code sqlite3 modules so that I can run my app.

However, my app has some associated tests that I run with babel-node, and some command line utilities that I’d like to run directly with node. If I try running my tests or utilities after running electron-rebuild, I get errors informing me that it can’t find a sqlite3 binary compatible with version 51 of the ABI.

Is there any way to install a version of node that will be binary compatible with the ABI that is used by electron? Electron 1.4.12 reports that it is using version ‘50’ of the Node modules ABI. But looking at the Node downloads page, the NODE_MODULE_VERSION jumps directly from ‘48’ to ‘51’ – see attached screenshot.

Does there even exist a version of node.js that is ABI compatible with Electron? How are others dealing with this issue? Any help / suggestions much appreciated.


-Antony Courtney


The Node ABI number jumped specifically because of Electron.

Perhaps using a two package.json structure like electron-builder would help.


Thanks John, that’s helpful information and a useful suggestion – I will look in to using the two package.json structure for my project.


Out of curiosity: Is there hope that the NODE_MODULE_VERSION used by Node and Electron will converge at some point in the near future? Not entirely clear to me from reading issue / commit comments from TheAlphaNerd.