I frequently see corrupted node/electron headers. Sounds similar to #1054, but I'm using npm. And I see this on an isolate github actions runner, so it doesn't seem like a concurrency issue either?
npm error gyp info using node-gyp@10.1.0
npm error gyp info using node@20.18.2 | linux | x64
npm error gyp info find Python using Python version 3.12.3 found at "/usr/bin/python3"
npm error gyp http GET https://electronjs.org/headers/v34.5.1/node-v34.5.1-headers.tar.gz
npm error gyp http 200 https://electronjs.org/headers/v34.5.1/node-v34.5.1-headers.tar.gz
npm error gyp http GET https://electronjs.org/headers/v34.5.1/SHASUMS256.txt
npm error gyp http 200 https://electronjs.org/headers/v34.5.1/SHASUMS256.txt
...
npm error File "/home/runner/.cache/node-gyp/34.5.1/include/node/common.gypi", line 177
npm error 'msvs_settings': {
npm error ^
npm error SyntaxError: '{' was never closed
more examples:
npm error /home/runner/.cache/node-gyp/34.3.4/include/node/v8-object.h:5: error: unterminated #ifndef
npm error 5 | #ifndef INCLUDE_V8_OBJECT_H_
npm error gyp: /Users/ec2-user/Library/Caches/node-gyp/20.18.2/common.gypi not found while reading includes of binding.gyp while trying to load binding.gyp
npm error gyp: /home/AzDevOps/.cache/node-gyp/30.5.1/common.gypi not found while reading includes of binding.gyp while trying to load binding.gyp
We see this on both linux and macos, but interestingly never on windows. Perhaps due to this?
|
// on Windows there can be file errors from tar if parallel installs |
|
// are happening (not uncommon with multiple native modules) so |
|
// extract the tarball to a temp directory first and then copy over |
|
const tarExtractDir = win ? await fs.mkdtemp(path.join(os.tmpdir(), 'node-gyp-tmp-')) : devDir |
I would propose making the separate directory download step the default on all platforms.
I frequently see corrupted node/electron headers. Sounds similar to #1054, but I'm using
npm. And I see this on an isolate github actions runner, so it doesn't seem like a concurrency issue either?more examples:
We see this on both linux and macos, but interestingly never on windows. Perhaps due to this?
node-gyp/lib/install.js
Lines 203 to 206 in 7d883b5
I would propose making the separate directory download step the default on all platforms.