I write an Electron app that uses nodegit. For my test part I use ava in combination with Spectron to test my app. All of my tests work - including functions which use nodegit in my app.
In addition to the tests described above I made also a pure non-Electron test file in which I import nodegit directly.
import * as nodegit from 'nodegit';
Executing this test now via ava returns this:
node_modules\.pnpm\[email protected]\node_modules\nodegit\build\Release\nodegit.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 82. This version of Node.js requires
NODE_MODULE_VERSION 83. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
at Module._extensions..node (internal/modules/cjs/loader.js:1122:18)
Where exactly does version 82 come from? I only have nodejs 14.15.0
installed, which uses version 83
as expected. Why does node think the version is a mismatch where it works actually in my app? This is how my package.json
looks like:
"devDependencies": {
"ava": "^3.13.0",
},
"scripts": {
"ava": "node_modules/.bin/ava",
...
},
"ava": {
"files": [
"*.ts"
],
"extensions": [
"ts"
],
"require": [
"ts-node/register"
],
"nodeArguments": [
"--napi-modules",
"--experimental-modules"
]
},
I built nodegit
myself and in the config.gypi
file it even refers to:
"node_module_version": 83,
I made a super simple reproducible example: https://github.com/Githubber2021/node_module_version-issue
% node --version
14.15.0
% npm install
% npm run ava
... error
Can anyone explain me if this a bug or where version 82 comes from?