afrog icon indicating copy to clipboard operation
afrog copied to clipboard

Electron v19.0.0 HTTP 403 ( dist-url https://atom.io/download/atom-shell ) UPDATE alt dist URL works: https://electronjs.org/headers

Open danielweck opened this issue 3 years ago • 4 comments

Prerequisites

Description

node-gyp --verbose configure --target=19.0.0 --arch=x64 --dist-url=https://atom.io/download/atom-shell

==>

403 response downloading https://atom.io/download/atom-shell/v19.0.0/node-v19.0.0-headers.tar.gz (same with https://atom.io/download/electron/v19.0.0/node-v19.0.0-headers.tar.gz , as this redirects to the same Amazon S3 endpoint)

( http 403 https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist/v19.0.0/node-v19.0.0-headers.tar.gz )

<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>9AEB55MV97WXCBBA</RequestId>
<HostId>
iH4yVvJOYh+6FOEQYRtLRKr5//pJ9LY8+/E6oMfeTw95DEqmiBWieAO84hsA2oFMDLlr+3NLEwg=
</HostId>
</Error>
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli   '/usr/local/bin/node',
gyp verb cli   '/PATH/TO/node_modules/.bin/node-gyp',
gyp verb cli   '--verbose',
gyp verb cli   'configure',
gyp verb cli   '--target=19.0.0',
gyp verb cli   '--arch=x64',
gyp verb cli   '--dist-url=https://atom.io/download/atom-shell'
gyp verb cli ]
gyp info using [email protected]
gyp info using [email protected] | darwin | x64
gyp verb command configure []
gyp verb download using dist-url https://atom.io/download/atom-shell
gyp verb find Python Python is not set from command line or npm configuration
gyp verb find Python Python is not set from environment variable PYTHON
gyp verb find Python checking if "python3" can be used
gyp verb find Python - executing "python3" to get executable path
gyp verb find Python - executable path is "/Library/Frameworks/Python.framework/Versions/3.8/bin/python3"
gyp verb find Python - executing "/Library/Frameworks/Python.framework/Versions/3.8/bin/python3" to get version
gyp verb find Python - version is "3.8.5"
gyp info find Python using Python version 3.8.5 found at "/Library/Frameworks/Python.framework/Versions/3.8/bin/python3"
gyp verb get node dir compiling against --target node version: 19.0.0
gyp verb command install [ '19.0.0' ]
gyp verb download using dist-url https://atom.io/download/atom-shell
gyp verb install input version string "19.0.0"
gyp verb install installing version: 19.0.0
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version not already installed, continuing with install 19.0.0
gyp verb ensuring nodedir is created /Users/user/Library/Caches/node-gyp/19.0.0
gyp verb created nodedir /Users/user/Library/Caches/node-gyp/19.0.0
gyp http GET https://atom.io/download/atom-shell/v19.0.0/node-v19.0.0-headers.tar.gz
gyp http 403 https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist/v19.0.0/node-v19.0.0-headers.tar.gz
gyp WARN install got an error, rolling back install
gyp verb command remove [ '19.0.0' ]
gyp verb remove using node-gyp dir: /Users/user/Library/Caches/node-gyp
gyp verb remove removing target version: 19.0.0
gyp verb remove removing development files for version: 19.0.0
gyp ERR! configure error 
gyp ERR! stack Error: 403 response downloading https://atom.io/download/atom-shell/v19.0.0/node-v19.0.0-headers.tar.gz
gyp ERR! stack     at go (/PATH/TO/node_modules/node-gyp/lib/install.js:153:17)
gyp ERR! stack     at processTicksAndRejections (node:internal/process/task_queues:96:5)
gyp ERR! stack     at async install (/PATH/TO/node_modules/node-gyp/lib/install.js:62:18)
gyp ERR! System Darwin 21.5.0
gyp ERR! command "/usr/local/bin/node" "/PATH/TO/node_modules/.bin/node-gyp" "--verbose" "configure" "--target=19.0.0" "--arch=x64" "--dist-url=https://atom.io/download/atom-shell"
gyp ERR! cwd /PATH/TO
gyp ERR! node -v v16.15.0
gyp ERR! node-gyp -v v9.0.0
gyp ERR! not ok 
npm ERR! code 1

Steps to Reproduce

  1. node-gyp --verbose configure --target=19.0.0 --arch=x64 --dist-url=https://atom.io/download/atom-shell
  2. node-gyp build --loglevel=verbose --verbose --target=19.0.0 --arch=x64 --dist-url=https://atom.io/download/atom-shell

Expected behavior:

Electron/NodeJS native module builds.

Actual behavior:

Electron/NodeJS native module fails to build because of HTTP 403 error.

Reproduces how often:

100%

Versions

MacOS

Additional Information

I am wondering if this has anything to do with the recent NPM bug which prevented Electron v19.0.0 deploy to NPM registry?

https://github.com/electron/electron/issues/34336

danielweck avatar May 24 '22 16:05 danielweck

Related issue? https://github.com/atom/atom/issues/10505

danielweck avatar May 24 '22 16:05 danielweck

Todays status: still http 403 access denied on the AWS S3 URL redirect: https://atom.io/download/atom-shell/v19.0.0/node-v19.0.0-headers.tar.gz

Is there an alternative to dist-url https://atom.io/download/atom-shell/ for node-gyp builds?

danielweck avatar May 25 '22 08:05 danielweck

…answering my own question, for other devs who might be facing this issue: https://electronjs.org/headers/v19.0.0/node-v19.0.0-headers.tar.gz

(dist-url = https://electronjs.org/headers as found in the doc: https://www.electronjs.org/docs/latest/tutorial/using-native-node-modules#manually-building-for-electron )

I am leaving this issue open just in case something can be fixed in the Atom file server.

danielweck avatar May 25 '22 08:05 danielweck

Atom is abandonedware. Due to complications with github being acquired by microsoft, it is unclear if/when this will ever be formally acknowledged. To give an idea of how abandoned this software is:

  • The discussions section was deleted without notice after getting spammed despite methods existing to fix discussion board spam.
  • None of the original maintainers/devs have committed to the repo since 2020
  • There are, as far as I can tell, two official maintainers for this repo these days.
  • The CI pipeline is broken with no indications of being fixed

This software should not be used. Nearly all of its dependencies are ancient, and nobody is left to pass the torch. It is too big, has been touched by too many hands, and has been left to die for too long to be rescued.

If you would like to explore a de-microsfted text editor based on Electron, try VSCodium, a repackaged binary of VSCode's open source codebase with all the microsoft telemetry stripped out, and which uses an open source extension distribution platform separate again from Microsoft.

I personally find it to be quite adequate.

ghost avatar Jun 02 '22 18:06 ghost