node-gyp icon indicating copy to clipboard operation
node-gyp copied to clipboard

Random HTTP 500 statuses or ECONNRESET when node-gyp fetches dependencies

Open rchennafi opened this issue 1 year ago • 18 comments

This is occurring across multiple node versions, architectures and system types. Our build system regularly runs node gyp in its build for our NPM packages across every version of nodejs and about 5% of builds are subject to a 500 status failure or an ECONNRESET when setting up node-gyp.

This strikes me as an issue with the server which hosts the node gyp files. Is there possibly a way around downloading these node-gyp dependencies each time? Or maybe something that can be done to fix the instability there?

These builds all took place inside of Amazon server instances.

Here is an instance on node 14 with node gyp 7.1.2 on a Windows Server 2019 machine.

04:08:09  gyp info ok 
04:08:13  Now using node v14.21.2 (64-bit)
04:08:19  gyp info it worked if it ends with ok
04:08:19  gyp info using [email protected]
04:08:19  gyp info using [email protected] | win32 | x64
04:08:19  gyp info find Python using Python version 3.8.5 found at "C:\Python38\python3.exe"
04:08:23  gyp http GET https://nodejs.org/download/release/v14.21.2/node-v14.21.2-headers.tar.gz
04:08:23  gyp http 200 https://nodejs.org/download/release/v14.21.2/node-v14.21.2-headers.tar.gz
04:08:25  gyp http GET https://nodejs.org/download/release/v14.21.2/SHASUMS256.txt
04:08:25  gyp http GET https://nodejs.org/download/release/v14.21.2/win-x86/node.lib
04:08:25  gyp http GET https://nodejs.org/download/release/v14.21.2/win-x64/node.lib
04:08:25  gyp http GET https://nodejs.org/download/release/v14.21.2/win-arm64/node.lib
04:08:25  gyp http 200 https://nodejs.org/download/release/v14.21.2/SHASUMS256.txt
04:08:26  gyp http 500 https://nodejs.org/download/release/v14.21.2/win-arm64/node.lib
04:08:26  gyp WARN install got an error, rolling back install
04:08:26  gyp ERR! configure error 
04:08:26  gyp ERR! stack Error: 500 status code downloading arm64 node.lib
04:08:26  gyp ERR! stack     at Request.<anonymous> (C:\nvm\v14.21.2\node_modules\node-gyp\lib\install.js:335:22)
04:08:26  gyp ERR! stack     at Request.emit (events.js:412:35)
04:08:26  gyp ERR! stack     at Request.onRequestResponse (C:\nvm\v14.21.2\node_modules\node-gyp\node_modules\request\request.js:1059:10)
04:08:26  gyp ERR! stack     at ClientRequest.emit (events.js:400:28)
04:08:26  gyp ERR! stack     at HTTPParser.parserOnIncomingClient (_http_client.js:647:27)
04:08:26  gyp ERR! stack     at HTTPParser.parserOnHeadersComplete (_http_common.js:127:17)
04:08:26  gyp ERR! stack     at TLSSocket.socketOnData (_http_client.js:515:22)
04:08:26  gyp ERR! stack     at TLSSocket.emit (events.js:400:28)
04:08:26  gyp ERR! stack     at addChunk (internal/streams/readable.js:293:12)
04:08:26  gyp ERR! stack     at readableAddChunk (internal/streams/readable.js:267:9)
04:08:26  gyp ERR! System Windows_NT 10.0.17763
04:08:26  gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--msvs_version=2017" "--devdir=C:\\tmp\\.gyp"

Here is an instance of it occurring on Linux ARM64 with electron & node 16 and node-gyp 9.2.0.

02:06:10  gyp info it worked if it ends with ok
02:06:10  gyp info using [email protected]
02:06:10  gyp info using [email protected] | linux | arm64
02:06:10  gyp info find Python using Python version 3.6.8 found at "/usr/bin/python3"
02:06:10  gyp http GET https://electronjs.org/headers/v9.0.0/node-v9.0.0-headers.tar.gz
02:06:11  gyp WARN install got an error, rolling back install
02:06:11  gyp ERR! configure error 
02:06:11  gyp ERR! stack FetchError: request to https://www.electronjs.org/headers/v9.0.0/node-v9.0.0-headers.tar.gz failed, reason: read ECONNRESET
02:06:11  gyp ERR! stack     at ClientRequest.<anonymous> (/home/pdftron/.nvm/versions/node/v16.19.0/lib/node_modules/node-gyp/node_modules/minipass-fetch/lib/index.js:130:14)
02:06:11  gyp ERR! stack     at ClientRequest.emit (node:events:513:28)
02:06:11  gyp ERR! stack     at TLSSocket.socketErrorListener (node:_http_client:494:9)
02:06:11  gyp ERR! stack     at TLSSocket.emit (node:events:525:35)
02:06:11  gyp ERR! stack     at emitErrorNT (node:internal/streams/destroy:157:8)
02:06:11  gyp ERR! stack     at emitErrorCloseNT (node:internal/streams/destroy:122:3)
02:06:11  gyp ERR! stack     at processTicksAndRejections (node:internal/process/task_queues:83:21)
02:06:11  gyp ERR! System Linux 5.10.0-12-cloud-arm64
02:06:11  gyp ERR! command "/home/pdftron/.nvm/versions/node/v16.19.0/bin/node" "/home/pdftron/.nvm/versions/node/v16.19.0/bin/node-gyp" "rebuild" "--target=v9.0.0" "--dist-url=https://electronjs.org/headers" "--openssl_fips=" "--arch=arm"
02:06:11  gyp ERR! cwd /home/admin/jenkins/workspace/Node_Linux_Electron_Arm64_master/WebPDFWorker/Node.js/Packaging
02:06:11  gyp ERR! node -v v16.19.0
02:06:11  gyp ERR! node-gyp -v v9.2.0
02:06:11  gyp ERR! not ok 

And on Linux x64 with node 9, node-gyp 5.1.1

01:50:03  Now using node v9.11.2 (npm v5.6.0)
01:50:03  gyp info it worked if it ends with ok
01:50:03  gyp info using [email protected]
01:50:03  gyp info using [email protected] | linux | x64
01:50:03  gyp info find Python using Python version 2.7.5 found at "/usr/bin/python"
01:50:03  gyp http GET https://nodejs.org/download/release/v9.11.2/node-v9.11.2-headers.tar.gz
01:50:03  gyp http 500 https://nodejs.org/download/release/v9.11.2/node-v9.11.2-headers.tar.gz
01:50:03  gyp WARN install got an error, rolling back install
01:50:03  gyp ERR! configure error 
01:50:03  gyp ERR! stack Error: 500 response downloading https://nodejs.org/download/release/v9.11.2/node-v9.11.2-headers.tar.gz
01:50:03  gyp ERR! stack     at Request.<anonymous> (/home/pdftron/.nvm/versions/node/v9.11.2/lib/node_modules/node-gyp/lib/install.js:188:14)
01:50:03  gyp ERR! stack     at Request.emit (events.js:185:15)
01:50:03  gyp ERR! stack     at Request.onRequestResponse (/home/pdftron/.nvm/versions/node/v9.11.2/lib/node_modules/node-gyp/node_modules/request/request.js:1059:10)
01:50:03  gyp ERR! stack     at ClientRequest.emit (events.js:180:13)
01:50:03  gyp ERR! stack     at HTTPParser.parserOnIncomingClient (_http_client.js:540:21)
01:50:03  gyp ERR! stack     at HTTPParser.parserOnHeadersComplete (_http_common.js:117:17)
01:50:03  gyp ERR! stack     at TLSSocket.socketOnData (_http_client.js:445:20)
01:50:03  gyp ERR! stack     at TLSSocket.emit (events.js:180:13)
01:50:03  gyp ERR! stack     at addChunk (_stream_readable.js:274:12)
01:50:03  gyp ERR! stack     at readableAddChunk (_stream_readable.js:261:11)
01:50:03  gyp ERR! System Linux 5.10.0-19-cloud-amd64
01:50:03  gyp ERR! command "/home/pdftron/.nvm/versions/node/v9.11.2/bin/node" "/home/pdftron/.nvm/versions/node/v9.11.2/bin/node-gyp" "rebuild"
01:50:03  gyp ERR! cwd /home/admin/jenkins/workspace/PDFNetNode_Linux_master/WebPDFWorker/Node.js/Packaging
01:50:03  gyp ERR! node -v v9.11.2
01:50:03  gyp ERR! node-gyp -v v5.1.1
01:50:03  gyp ERR! not ok

These were just the instances I was able to find within the last 2 weeks of our daily build system. If you want more specific details about each machine I can provide those. The Linux builds are all run within Docker containers.

rchennafi avatar May 15 '23 20:05 rchennafi

Python 3.6 (and soon 3.7) is no longer supported... https://devguide.python.org/versions

Node versions < 16 are no longer supported... https://github.com/nodejs/Release#nodejs-release-working-group

cclauss avatar May 15 '23 21:05 cclauss

@cclauss This occurs across all version and types regardless of node/python versions sporadically. Here is a log for Node 19 & Python 3.8.5 on Windows.

03:35:25  gyp info ok 
03:35:29  Now using node v19.5.0 (64-bit)
03:35:41  gyp info it worked if it ends with ok
03:35:41  gyp info using [email protected]
03:35:41  gyp info using [email protected] | win32 | x64
03:35:44  gyp info find Python using Python version 3.8.5 found at "C:\Python38\python3.exe"
03:35:52  gyp http GET https://nodejs.org/download/release/v19.5.0/node-v19.5.0-headers.tar.gz
03:35:53  gyp http 200 https://nodejs.org/download/release/v19.5.0/node-v19.5.0-headers.tar.gz
03:37:14  gyp http GET https://nodejs.org/download/release/v19.5.0/SHASUMS256.txt
03:37:14  gyp http GET https://nodejs.org/download/release/v19.5.0/win-x86/node.lib
03:37:14  gyp http GET https://nodejs.org/download/release/v19.5.0/win-x64/node.lib
03:37:14  gyp http GET https://nodejs.org/download/release/v19.5.0/win-arm64/node.lib
03:37:14  gyp http 404 https://nodejs.org/download/release/v19.5.0/win-arm64/node.lib
03:37:14  gyp http 200 https://nodejs.org/download/release/v19.5.0/win-x64/node.lib
03:37:14  gyp http 200 https://nodejs.org/download/release/v19.5.0/SHASUMS256.txt
03:37:15  gyp http 200 https://nodejs.org/download/release/v19.5.0/win-x86/node.lib
03:42:22  gyp WARN install got an error, rolling back install
03:42:22  gyp ERR! configure error 
03:42:22  gyp ERR! stack Error: aborted
03:42:22  gyp ERR! stack     at connResetException (node:internal/errors:717:14)
03:42:22  gyp ERR! stack     at TLSSocket.socketCloseListener (node:_http_client:456:19)
03:42:22  gyp ERR! stack     at TLSSocket.emit (node:events:524:35)
03:42:22  gyp ERR! stack     at node:net:316:12
03:42:22  gyp ERR! stack     at TCP.done (node:_tls_wrap:588:7)
03:42:22  gyp ERR! System Windows_NT 10.0.17763
03:42:22  gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--msvs_version=2017" "--devdir=C:\\tmp\\.gyp"
03:42:22  gyp ERR! cwd C:\Jenkins\workspace\PDFNetNode_Windows_master\WebPDFWorker\Node.js\Packaging
03:42:22  gyp ERR! node -v v19.5.0
03:42:22  gyp ERR! node-gyp -v v9.3.1
03:42:22  gyp ERR! not ok 

rchennafi avatar May 15 '23 21:05 rchennafi

03:37:14 gyp http 404 https://nodejs.org/download/release/v19.5.0/win-arm64/node.lib

@StefanStojanovic Any ideas?

cclauss avatar May 16 '23 06:05 cclauss

03:37:14 gyp http 404 https://nodejs.org/download/release/v19.5.0/win-arm64/node.lib

This is expected because win-arm64 is part of official releases starting with v19.9.0. However, if HTTP status code 403 or 404 is received for downloading node.lib that should not be a problem according to this code.

03:37:15  gyp http 200 https://nodejs.org/download/release/v19.5.0/win-x86/node.lib
03:42:22  gyp WARN install got an error, rolling back install

Based on this part of the log, an installer error happened 5 minutes after downloading all of the node.lib files and SHASUMS256.txt

StefanStojanovic avatar May 16 '23 14:05 StefanStojanovic

Another one here for windows and supported versions. This occurred today.

06:05:52  Now using node v18.14.0 (64-bit)
06:06:04  gyp info it worked if it ends with ok
06:06:04  gyp info using [email protected]
06:06:04  gyp info using [email protected] | win32 | x64
06:06:05  gyp info find Python using Python version 3.8.5 found at "C:\Python38\python3.exe"
06:06:10  gyp http GET https://nodejs.org/download/release/v18.14.0/node-v18.14.0-headers.tar.gz
06:06:11  gyp http 200 https://nodejs.org/download/release/v18.14.0/node-v18.14.0-headers.tar.gz
06:06:20  gyp http GET https://nodejs.org/download/release/v18.14.0/SHASUMS256.txt
06:06:20  gyp http GET https://nodejs.org/download/release/v18.14.0/win-x86/node.lib
06:06:20  gyp http GET https://nodejs.org/download/release/v18.14.0/win-arm64/node.lib
06:06:20  gyp http GET https://nodejs.org/download/release/v18.14.0/win-x64/node.lib
06:06:20  gyp http 200 https://nodejs.org/download/release/v18.14.0/SHASUMS256.txt
06:06:20  gyp http 500 https://nodejs.org/download/release/v18.14.0/win-arm64/node.lib
06:06:20  gyp WARN install got an error, rolling back install
06:06:21  gyp ERR! configure error 
06:06:21  gyp ERR! stack Error: 500 status code downloading arm64 node.lib
06:06:21  gyp ERR! stack     at C:\nvm\v18.14.0\node_modules\node-gyp\lib\install.js:256:17
06:06:21  gyp ERR! stack     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
06:06:21  gyp ERR! stack     at async Promise.all (index 2)
06:06:21  gyp ERR! stack     at async go (C:\nvm\v18.14.0\node_modules\node-gyp\lib\install.js:189:5)
06:06:21  gyp ERR! stack     at async install (C:\nvm\v18.14.0\node_modules\node-gyp\lib\install.js:62:18)
06:06:21  gyp ERR! System Windows_NT 10.0.17763
06:06:21  gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--msvs_version=2017" "--devdir=C:\\tmp\\.gyp"
06:06:21  gyp ERR! cwd C:\Jenkins\workspace\PDFNetNode_Windows_9.5\WebPDFWorker\Node.js\Packaging
06:06:21  gyp ERR! node -v v18.14.0
06:06:21  gyp ERR! node-gyp -v v9.3.1
06:06:21  gyp ERR! not ok 

rchennafi avatar May 16 '23 15:05 rchennafi

Is this now only a Window issue?

cclauss avatar May 16 '23 15:05 cclauss

It is most consistent on Windows and Windows is probably the main pain point. The last few logs I've linked are all x64 so not specifically ARM either. Last night we had 4 windows builds all fail around 4:00 AM PST across different node versions with various ECONNRESET and 500 errors.

Some context here, we have node builds for electron and node each for Mac, Windows and Linux. This ends up being about 18 builds per night each running node 8->19 and for electron, 11->22.

rchennafi avatar May 16 '23 15:05 rchennafi

Status code 500, unlike 403 and 404 fails the installation, as seen from https://github.com/nodejs/node-gyp/issues/2847#issuecomment-1549880856 since no time passes between those two logs. The error is thrown from here.

I'm not sure this is a Windows-specific issue, especially not an ARM-on-Windows issue. Getting HTTP 500 and ECONNRESET seems more like an issue in communication with the server from which the binaries are downloaded than anything else.

StefanStojanovic avatar May 16 '23 15:05 StefanStojanovic

A quick update on this topic: I've investigated this issue more and found a way to improve Windows installation to decrease network traffic. I have a PoC, but since it changes the install.js script, I'm waiting for https://github.com/nodejs/node-gyp/pull/2846 to land. Afterward, I'll rebase, resolve potential conflicts and open the PR.

StefanStojanovic avatar May 23 '23 21:05 StefanStojanovic

This happens regularly on linux in CI for me:

#20 158.9 npm ERR! gyp http GET https://nodejs.org/download/release/v18.16.0/node-v18.16.0-headers.tar.gz
#20 158.9 npm ERR! gyp http 200 https://nodejs.org/download/release/v18.16.0/node-v18.16.0-headers.tar.gz
#20 158.9 npm ERR! gyp WARN install got an error, rolling back install
#20 158.9 npm ERR! gyp ERR! configure error
#20 158.9 npm ERR! gyp ERR! stack Error: aborted
#20 158.9 npm ERR! gyp ERR! stack     at connResetException (node:internal/errors:717:14)
#20 158.9 npm ERR! gyp ERR! stack     at TLSSocket.socketCloseListener (node:_http_client:462:19)
#20 158.9 npm ERR! gyp ERR! stack     at TLSSocket.emit (node:events:525:35)
#20 158.9 npm ERR! gyp ERR! stack     at node:net:322:12
#20 158.9 npm ERR! gyp ERR! stack     at TCP.done (node:_tls_wrap:588:7)
#20 158.9 npm ERR! gyp ERR! System Linux 5.15.110-70.143.amzn2.x86_64
#20 158.9 npm ERR! gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
#20 158.9 npm ERR! gyp ERR! cwd /src/livegraph/node_modules/posix
#20 158.9 npm ERR! gyp ERR! node -v v18.16.0
#20 158.9 npm ERR! gyp ERR! node-gyp -v v9.3.1
#20 158.9 npm ERR! gyp ERR! not ok

jfirebaugh avatar Jul 31 '23 19:07 jfirebaugh

I too experienced significant amounts of failures today when it came to downloading the node headers for Linux builds.

07:52:21  gyp ERR! stack Error: 500 response downloading https://nodejs.org/download/release/v8.17.0/node-v8.17.0-headers.tar.gz
07:52:21  gyp ERR! stack     at Request.<anonymous> (/home/pdftron/.nvm/versions/node/v8.17.0/lib/node_modules/node-gyp/lib/install.js:188:14)
07:52:21  gyp ERR! stack     at emitOne (events.js:121:20)
07:52:21  gyp ERR! stack     at Request.emit (events.js:211:7)
07:52:21  gyp ERR! stack     at Request.onRequestResponse (/home/pdftron/.nvm/versions/node/v8.17.0/lib/node_modules/node-gyp/node_modules/request/request.js:1059:10)
07:52:21  gyp ERR! stack     at emitOne (events.js:116:13)
07:52:21  gyp ERR! stack     at ClientRequest.emit (events.js:211:7)
07:52:21  gyp ERR! stack     at HTTPParser.parserOnIncomingClient (_http_client.js:552:21)
07:52:21  gyp ERR! stack     at HTTPParser.parserOnHeadersComplete (_http_common.js:119:17)
07:52:21  gyp ERR! stack     at TLSSocket.socketOnData (_http_client.js:454:20)
07:52:21  gyp ERR! stack     at emitOne (events.js:116:13)

rchennafi avatar Jul 31 '23 19:07 rchennafi

Experienced this in Windows today

Since two others experienced this today, could this just be some issue with nodejs.org downloads? But it also seems like this is a common issue with node-headers or node.lib...

npm ERR! gyp http 200 https://nodejs.org/download/release/v18.12.1/SHASUMS256.txt
npm ERR! gyp http 500 https://nodejs.org/download/release/v18.12.1/win-x86/node.lib
npm ERR! gyp WARN install got an error, rolling back install
npm ERR! gyp ERR! configure error 
npm ERR! gyp ERR! stack Error: 500 status code downloading ia32 node.lib
npm ERR! gyp ERR! stack     at C:\Program Files (x86)\npm\8.19.2\node_modules\npm\node_modules\node-gyp\lib\install.js:256:17
npm ERR! gyp ERR! stack     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
npm ERR! gyp ERR! stack     at async Promise.all (index 0)
npm ERR! gyp ERR! stack     at async go (C:\Program Files (x86)\npm\8.19.2\node_modules\npm\node_modules\node-gyp\lib\install.js:189:5)
npm ERR! gyp ERR! stack     at async install (C:\Program Files (x86)\npm\8.19.2\node_modules\npm\node_modules\node-gyp\lib\install.js:62:18)
npm ERR! gyp ERR! System Windows_NT 10.0.14393
npm ERR! gyp ERR! command "C:\\Program Files (x86)\\nodejs\\18.12.1\\node.exe" "C:\\Program Files (x86)\\npm\\8.19.2\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd C:\home\site\wwwroot\node_modules\unix-dgram
npm ERR! gyp ERR! node -v v18.12.1
npm ERR! gyp ERR! node-gyp -v v9.1.0
npm ERR! gyp ERR! not ok

avedmala avatar Jul 31 '23 19:07 avedmala

Same here. About 30% of our Jenkins automation jobs (Amazon Linux 2) were failing today.

15:31:41  error /home/jenkins/agent/workspace/potato-tests/node_modules/node-expat: Command failed.
15:31:41  Exit code: 1
15:31:41  Command: node-gyp rebuild
15:31:41  Arguments: 
15:31:41  Directory: /home/jenkins/agent/workspace/potato-tests/node_modules/node-expat
15:31:41  Output:
15:31:41  gyp WARN install got an error, rolling back install
15:31:41  gyp ERR! configure error 
15:31:41  gyp ERR! stack Error: 500 response downloading https://nodejs.org/download/release/v14.15.0/node-v14.15.0-headers.tar.gz
15:31:41  gyp ERR! stack     at Request.<anonymous> (/home/jenkins/agent/workspace/potato-tests/node_modules/node-gyp/lib/install.js:188:14)
15:31:41  gyp ERR! stack     at Request.emit (events.js:327:22)
15:31:41  gyp ERR! stack     at Request.onRequestResponse (/home/jenkins/agent/workspace/potato-tests/node_modules/request/request.js:1059:10)
15:31:41  gyp ERR! stack     at ClientRequest.emit (events.js:315:20)
15:31:41  gyp ERR! stack     at HTTPParser.parserOnIncomingClient (_http_client.js:641:27)
15:31:41  gyp ERR! stack     at HTTPParser.parserOnHeadersComplete (_http_common.js:126:17)
15:31:41  gyp ERR! stack     at TLSSocket.socketOnData (_http_client.js:509:22)
15:31:41  gyp ERR! stack     at TLSSocket.emit (events.js:315:20)
15:31:41  gyp ERR! stack     at addChunk (_stream_readable.js:309:12)
15:31:41  gyp ERR! stack     at readableAddChunk (_stream_readable.js:284:9)
15:31:41  gyp ERR! System Linux 5.4.247-162.350.amzn2.x86_64
15:31:41  gyp ERR! command "/usr/local/bin/node" "/home/jenkins/agent/workspace/potato-tests/node_modules/.bin/node-gyp" "rebuild"
15:31:41  gyp ERR! cwd /home/jenkins/agent/workspace/potato-tests/node_modules/node-expat
15:31:41  gyp ERR! node -v v14.15.0
15:31:41  gyp ERR! node-gyp -v v5.1.1
15:31:41  gyp ERR! not ok
15:31:41  info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

randomvlad avatar Aug 01 '23 00:08 randomvlad

gyp ERR! node-gyp -v v5.1.1

???

cclauss avatar Aug 01 '23 07:08 cclauss

It really does seem like there's simply an issue with the nodejs website and serving these files. I'm unsure if fixing this even lies within the scope of node-gyp beyond the initial changes that were made.

rchennafi avatar Aug 03 '23 19:08 rchennafi

We are also seeing this random issue in our CI.

> node-gyp rebuild

gyp WARN install got an error, rolling back install
gyp ERR! configure error 
gyp ERR! stack Error: 500 status code downloading checksum
gyp ERR! stack     at Request.<anonymous> (/xxx/node/v14.17.5/lib/node_modules/npm/node_modules/node-gyp/lib/install.js:273:18)
gyp ERR! stack     at Request.emit (events.js:412:35)
gyp ERR! stack     at Request.onRequestResponse (/xxx/node/v14.17.5/lib/node_modules/npm/node_modules/request/request.js:1066:10)
gyp ERR! stack     at ClientRequest.emit (events.js:400:28)
gyp ERR! stack     at HTTPParser.parserOnIncomingClient (_http_client.js:647:27)
gyp ERR! stack     at HTTPParser.parserOnHeadersComplete (_http_common.js:126:17)
gyp ERR! stack     at TLSSocket.socketOnData (_http_client.js:515:22)
gyp ERR! stack     at TLSSocket.emit (events.js:400:28)
gyp ERR! stack     at addChunk (internal/streams/readable.js:290:12)
gyp ERR! stack     at readableAddChunk (internal/streams/readable.js:265:9)
gyp ERR! System Darwin 20.5.0
gyp ERR! command "/xxx/node/v14.17.5/bin/node" "/Users/distiller/.nvm/versions/node/v14.17.5/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /xxx/node/v14.17.5/lib/node_modules/appdmg/node_modules/macos-alias
gyp ERR! node -v v14.17.5
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok 
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1

jevasco avatar Sep 05 '23 22:09 jevasco

gyp ERR! node -v v14.17.5

Node.js v14 and soon v16 are no longer supported. https://nodejs.dev/en/about/releases

gyp ERR! node-gyp -v v5.1.0

https://github.com/nodejs/node-gyp/tree/main/docs#readme

cclauss avatar Sep 06 '23 00:09 cclauss

I'm also seeing this in my CI environment. I can positively confirm that all of my hosts can normally download this file, so whatever the download issue is it's local to node-gyp.

This comes through the node:20-alpine base image, and the error isn't really actionable so I'm not sure what else to try here. The npm package that's being built with node-gyp is [email protected] FWIW. CICD environment is GoCD.

#14 183.8 npm ERR! code 1
#14 183.8 npm ERR! path /app/node_modules/node-pty
#14 183.8 npm ERR! command failed
#14 183.8 npm ERR! command sh -c node scripts/install.js
#14 183.8 npm ERR! gyp info it worked if it ends with ok
#14 183.8 npm ERR! gyp info using [email protected]
#14 183.8 npm ERR! gyp info using [email protected] | linux | x64
#14 183.8 npm ERR! gyp info find Python using Python version 3.11.8 found at "/usr/bin/python3"
#14 183.8 npm ERR! gyp http GET https://unofficial-builds.nodejs.org/download/release/v20.11.1/node-v20.11.1-headers.tar.gz
#14 183.8 npm ERR! gyp WARN install got an error, rolling back install
#14 183.8 npm ERR! gyp ERR! configure error 
#14 183.8 npm ERR! gyp ERR! stack FetchError: request to https://unofficial-builds.nodejs.org/download/release/v20.11.1/node-v20.11.1-headers.tar.gz failed, reason: read ECONNRESET
#14 183.8 npm ERR! gyp ERR! stack at ClientRequest.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/minipass-fetch/lib/index.js:130:14)
#14 183.8 npm ERR! gyp ERR! stack at ClientRequest.emit (node:events:518:28)
#14 183.8 npm ERR! gyp ERR! stack at _destroy (node:_http_client:875:13)
#14 183.8 npm ERR! gyp ERR! stack at onSocketNT (node:_http_client:895:5)
#14 183.8 npm ERR! gyp ERR! stack at process.processTicksAndRejections (node:internal/process/task_queues:83:21)
#14 183.8 npm ERR! gyp ERR! System Linux 5.10.0-27-amd64
#14 183.8 npm ERR! gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
#14 183.8 npm ERR! gyp ERR! cwd /app/node_modules/node-pty
#14 183.8 npm ERR! gyp ERR! node -v v20.11.1
#14 183.8 npm ERR! gyp ERR! node-gyp -v v10.0.1
#14 183.8 npm ERR! gyp ERR! not ok
#14 183.8 
#14 183.8 npm ERR! A complete log of this run can be found in: /root/.npm/_logs/2024-03-07T01_48_45_416Z-debug-0.log
#14 ERROR: process "/bin/sh -c npm i --omit=dev" did not complete successfully: exit code: 1

Update: Using the node:20-bullseye base image works, so there might be a missing dependency or something that's not present in MUSL that's ending up boiling that error out. If it's a missing dependency, I'd imagine node-gyp would have a basic package check it could do?

knackstedt avatar Mar 07 '24 02:03 knackstedt