Electron v19.0.0 HTTP 403 ( dist-url https://atom.io/download/atom-shell ) UPDATE alt dist URL works: https://electronjs.org/headers
Prerequisites
- [X ] Put an X between the brackets on this line if you have done all of the following:
- Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
- Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
- Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
- Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
- Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages
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
-
node-gyp --verbose configure --target=19.0.0 --arch=x64 --dist-url=https://atom.io/download/atom-shell -
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
Related issue? https://github.com/atom/atom/issues/10505
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?
…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.
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.