Skip to content
This repository has been archived by the owner on Mar 3, 2023. It is now read-only.

Some installed packages could not be loaded because they contain native modules that were compiled for an earlier version of Atom. #19780

Closed
bjce opened this issue Aug 13, 2019 · 25 comments · Fixed by #19809

Comments

@bjce
Copy link

bjce commented Aug 13, 2019

Atom 1.40.0
Windows 10
Hydrogen 2.8.0

I tried to launch Atom, but a red bug appeared with the following message regarding Hydrogen 2.8.0:

Some installed packages could not be loaded because they contain native modules that were compiled for an earlier version of Atom.

with the following Details:

gyp ERR! configure error 
gyp ERR! stack Error: Can't find Python executable "C:\Users\usernumb...\AppData\Local\Programs\Python\Python37-32\python.EXE", you can set the PYTHON env variable.
gyp ERR! stack     at PythonFinder.failNoPython (C:\Users\i0310451\AppData\Local\atom\app-1.40.0\resources\app\apm\node_modules\npm\node_modules\node-gyp\lib\configure.js:492:19)
gyp ERR! stack     at PythonFinder.<anonymous> (C:\Users\usernumb...\AppData\Local\atom\app-1.40.0\resources\app\apm\node_modules\npm\node_modules\node-gyp\lib\configure.js:517:16)
gyp ERR! stack     at C:\Users\usernumb...\AppData\Local\atom\app-1.40.0\resources\app\apm\node_modules\npm\node_modules\graceful-fs\polyfills.js:284:29
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:182:21)
gyp ERR! System Windows_NT 10.0.17134
gyp ERR! command "C:\\Users\\usernumb...\\AppData\\Local\\atom\\app-1.40.0\\resources\\app\\apm\\bin\\node.exe" "C:\\Users\\usernumb...\\AppData\\Local\\atom\\app-1.40.0\\resources\\app\\apm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\usernumb...\.atom\packages\Hydrogen\node_modules\zeromq
gyp ERR! node -v v10.2.1
gyp ERR! node-gyp -v v3.7.0
gyp ERR! not ok 
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zeromq@5.1.0 install: `node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild)`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the zeromq@5.1.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\usernumb...\.atom\.apm\_logs\2019-08-13T15_38_58_222Z-debug.log

What I tried:

  • I tried several times to "Rebuild Packages", but the same error message occurs.
  • As it's my PC at work, and it is behind a firewall, I tried the same procedure but connecting to internet through my cellphone, but it didn't work

I saw 2 similar issures: #308 , #11, but I could not solve the problem

@jasonrudolph
Copy link
Contributor

👋 Hi @bjce: I'm sorry that you're running into this issue. I see that you're using Atom 1.40.0, which was just released today. To determine whether this might be a regression Atom 1.40.0, would you be willing to try reproducing this issue with Atom 1.39.1? You can download Atom 1.39.1 at https://github.com/atom/atom/releases/tag/v1.39.1.

@bjce
Copy link
Author

bjce commented Aug 13, 2019

many thanks for your answer @jasonrudolph. So in the link you provided, I just tried to download the following: atom-1.39.1-full.nupkg but Windows could not open it and atom-windows.zip but there is no install.exe file. Shall I try AtomSetup-x64.exe?

@jasonrudolph
Copy link
Contributor

@bjce: I recommend trying atom-x64-windows.zip or AtomSetup-x64.exe.

@bjce
Copy link
Author

bjce commented Aug 13, 2019

Ok many thanks @jasonrudolph. In the meantime I installed Atom successfully with AtomSetup-x64.exe. But the error message persisted

@bjce
Copy link
Author

bjce commented Aug 13, 2019

And what's strange is that there is a python.exe in the path C:\Users\usernumber...\AppData\Local\Programs\Python\Python37-32 despite what the error message is saying. So from what I undersand is that Atom is trying to Access the python executable in that path and for some reason cannot find it although it's there...

@rsese
Copy link
Contributor

rsese commented Aug 13, 2019

Thanks for checking the previous version of Atom @bjce, not sure why you're getting the same error when it worked previously? For what it's worth, I installed Hydrogen on Windows 10 and Atom 1.39.1 and then updated to 1.40.0 and didn't see the same error.

Since this issue is related in particular to the Hydrogen package, can you open an issue on the Hydrogen package repository so its maintainers can take a look? I think they would be the best people to help if it's a general issue related to the package, but if they believe the problem is with Atom, they can share more details on what they think the issue is on our side which would be super helpful for us.

@BenRussert
Copy link
Contributor

We have reports on hydrogen that downgrading to 1.39.x fixes the issue, so there does seem to be some change upstream. If there is anything we can do on hydrogen to fix we will work on it.

xref nteract/hydrogen#1738

@aviatesk
Copy link

@rsese
I suspect you have set up the build tools for node-gyp on your Windows, right ?
If so, I really don't think that it's ideal that every Atom user who users Hydrogen should set up the build tools ...

And it may not be related, but just FYI, there is also the issue report with this Python executable error on atom-julia-client repo:
JunoLab/atom-julia-client#590

cc: @pfitzseb

@aviatesk
Copy link

Maybe Hydrogen implicitly used the logic which was abandoned in this PR ?

@pfitzseb
Copy link
Contributor

As @aviatesk mentioned already mentioned: Juno's prebuilds for node-pty seem to be failing on 1.40, while they were working fine with 1.39.1 (with the same error as in the OP, unsurprisingly).

What might be happening here (I didn't look at any code, so just guessing) is that atom/apm#845 means that prebuild-install can't figure out what prebuilt binary it should download and then tries to build from source.

@rsese
Copy link
Contributor

rsese commented Aug 15, 2019

I suspect you have set up the build tools for node-gyp on your Windows, right ?

I don't, but I also only apm-installed Hydrogen, I didn't install any kernels or try to use it so I wonder if I would have just hit the same errors later on.

What might be happening here (I didn't look at any code, so just guessing) is that atom/apm#845 means that prebuild-install can't figure out what prebuilt binary it should download and then tries to build from source.

Thanks @pfitzseb - so just to summarize (and please correct me anywhere I'm wrong), your theory is that though the correct prebuilt binaries are available, as of 1.40.0 Atom can't figure out which binary to use so has to fallback to building a module (e.g. zeromq in the case of this report). Then if someone hasn't setup the build tools on their machine, they're running into errors like this report where node-gyp requires Python 2. And maybe atom/apm#845 is related though that's a guess at the moment.

Does that sound right? I just want to make sure I share the best information with our engineers - any additional specifics of course would be super helpful.

@pfitzseb
Copy link
Contributor

Thanks @pfitzseb - so just to summarize (and please correct me anywhere I'm wrong), your theory is that though the correct prebuilt binaries are available, as of 1.40.0 Atom can't figure out which binary to use so has to fallback to building a module (e.g. zeromq in the case of this report). Then if someone hasn't setup the build tools on their machine, they're running into errors like this report where node-gyp requires Python 2. And maybe atom/apm#845 is related though that's a guess at the moment.

Yes, except that it (probably) isn't Atom that can't figure out the right thing to do but prebuild-install (which is the both zeromq and Juno are using to download and install the prebuilt binaries).

I'll also dig into this tomorrow if you guys haven't made any further progress, and @aviatesk said that he'll try building Atom without atom/apm#845 if he finds the time.

@rsese
Copy link
Contributor

rsese commented Aug 15, 2019

I'll also dig into this tomorrow if you guys haven't made any further progress, and @aviatesk said that he'll try building Atom without atom/apm#845 if he finds the time.

Thanks so much @pfitzseb and @aviatesk, the help would be super appreciated 🙇

@BenRussert
Copy link
Contributor

@aviatesk
Copy link

Okay, so atom/apm is to blame: I experimented the installations of the packages switching atom/apm's version.

On the current master: Fails as reported

C:\Users\aviat\github\atom-pkgs\apm>git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.

C:\Users\aviat\github\atom-pkgs\apm>bin\npm run build

> atom-package-manager@2.4.2 build C:\Users\aviat\github\atom-pkgs\apm
> node script/check-version.js && grunt

Running "coffee:glob_to_multiple" (coffee) task
>> 42 files created.

Running "coffeelint:src" (coffeelint) task
>> 42 files lint free.

Running "coffeelint:test" (coffeelint) task
>> 26 files lint free.

Running "coffeelint:gruntfile" (coffeelint) task
>> 1 file lint free.

Done.

C:\Users\aviat\github\atom-pkgs\apm>bin\apm --version
apm  2.4.2
npm  6.2.0
node 10.2.1 x64
atom 1.40.0
python 3.7.1
git 2.22.0.windows.1
visual studio

C:\Users\aviat\github\atom-pkgs\apm>bin\apm install julia-client
Installing julia-client to C:\Users\aviat\.atom\packages failed

> @pfitzseb/node-pty-prebuilt@0.8.1-prebuilt3 install C:\Users\aviat\AppData\Local\Temp\apm-install-dir-
119717-20220-o0kut2.8vdy\node_modules\julia-client\node_modules\@pfitzseb\node-pty-prebuilt
> prebuild-install || node scripts/install.js


C:\Users\aviat\AppData\Local\Temp\apm-install-dir-119717-20220-o0kut2.8vdy\node_modules\julia-client\nod
e_modules\@pfitzseb\node-pty-prebuilt>if not defined npm_config_node_gyp (node "C:\Users\aviat\github\at
om-pkgs\apm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\no
de-gyp.js" rebuild )  else (node "C:\Users\aviat\github\atom-pkgs\apm\node_modules\npm\node_modules\node
-gyp\bin\node-gyp.js" rebuild )

prebuild-install WARN install No prebuilt binaries found (target=3.1.10 runtime=node arch=x64 libc= plat
form=win32)
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "C:\Users\aviat\Anaconda3\python.EXE", you can set th
e PYTHON env variable.
gyp ERR! stack     at PythonFinder.failNoPython (C:\Users\aviat\github\atom-pkgs\apm\node_modules\npm\no
de_modules\node-gyp\lib\configure.js:492:19)
gyp ERR! stack     at PythonFinder.<anonymous> (C:\Users\aviat\github\atom-pkgs\apm\node_modules\npm\nod
e_modules\node-gyp\lib\configure.js:517:16)
gyp ERR! stack     at C:\Users\aviat\github\atom-pkgs\apm\node_modules\npm\node_modules\graceful-fs\poly
fills.js:284:29
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:182:21)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "C:\\Users\\aviat\\github\\atom-pkgs\\apm\\bin\\node.exe" "C:\\Users\\aviat\\github\\at
om-pkgs\\apm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\aviat\AppData\Local\Temp\apm-install-dir-119717-20220-o0kut2.8vdy\node_modules\jul
ia-client\node_modules\@pfitzseb\node-pty-prebuilt
gyp ERR! node -v v10.2.1
gyp ERR! node-gyp -v v3.7.0
gyp ERR! not ok
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\aviat\AppData\Local\Temp\apm-install-d
ir-119717-20220-o0kut2.8vdy\package.json'
npm WARN apm-install-dir-119717-20220-o0kut2.8vdy No description
npm WARN apm-install-dir-119717-20220-o0kut2.8vdy No repository field.
npm WARN apm-install-dir-119717-20220-o0kut2.8vdy No README data
npm WARN apm-install-dir-119717-20220-o0kut2.8vdy No license field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @pfitzseb/node-pty-prebuilt@0.8.1-prebuilt3 install: `prebuild-install || node scripts/install.
js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @pfitzseb/node-pty-prebuilt@0.8.1-prebuilt3 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\aviat\.atom\.apm\_logs\2019-08-16T15_06_34_768Z-debug.log

On 2.2.4 branch, which is the last version before atom/apm#845 is introduced: Suceed

C:\Users\aviat\github\atom-pkgs\apm> git checkout -b 2.2.4 e446494af555d55fc171166380adf6c8fbd4a989
Switched to a new branch '2.2.4'

C:\Users\aviat\github\atom-pkgs\apm>bin\npm run build

> atom-package-manager@2.2.4 build C:\Users\aviat\github\atom-pkgs\apm
> node script/check-version.js && grunt

Running "coffee:glob_to_multiple" (coffee) task
>> 42 files created.

Running "coffeelint:src" (coffeelint) task
>> 42 files lint free.

Running "coffeelint:test" (coffeelint) task
>> 26 files lint free.

Running "coffeelint:gruntfile" (coffeelint) task
>> 1 file lint free.

Done.

C:\Users\aviat\github\atom-pkgs\apm>bin\apm --version
apm  2.2.4
npm  6.2.0
node 10.2.1 x64
atom 1.40.0
python 3.7.1
git 2.22.0.windows.1
visual studio

C:\Users\aviat\github\atom-pkgs\apm>bin\apm install julia-client
Installing julia-client to C:\Users\aviat\.atom\packages done

The same goes for Hydrogen as well.

@Aerijo
Copy link
Contributor

Aerijo commented Aug 16, 2019

prebuild-install WARN install No prebuilt binaries found (target=3.1.10 runtime=node arch=x64 libc= platform=win32)

The runtime should be electron. It seems you've found prebuild/prebuild-install#106. I don't think it will fix the Python error, but maybe a prebuilt binary could be found if the correct runtime is used. Try adding the changes in atom/apm#862.

Edit: It found prebuilt binaries when I had that change applied. So I think atom/apm#862 should fix this issue. And I'll take this opportunity to advertise apx, which also has these environment variables.

@aviatesk
Copy link

aviatesk commented Aug 16, 2019

@Aerijo Thanks for you here too.
It does work:

aviat@Alan MINGW64 ~/github/atom-pkgs/apm (pr-862/Aerijo/build-env)
$ bin/apm install julia-client
Installing julia-client to C:\Users\aviat\.atom\packages done

I don't think it will fix the Python error

Python stuff actually happens as a fallback, thus it's not an error from the beginning, maybe.

@jasonrudolph
Copy link
Contributor

The next nightly build of Atom will include atom/apm#862, which we believe resolves this issue.

We'll do additional testing to verify that the nightly build doesn't have the problems described in this issue, and once we're confident that all is well, we'll ship a patch release of Atom 1.40 and 1.41-beta including this fix. Stay tuned. 📺

@jasonrudolph
Copy link
Contributor

jasonrudolph commented Aug 19, 2019

The next nightly build of Atom will include atom/apm#862, which we believe resolves this issue.

We'll do additional testing to verify that the nightly build doesn't have the problems described in this issue, and once we're confident that all is well, we'll ship a patch release of Atom 1.40 and 1.41-beta including this fix.

In my testing of the latest Atom nightly release (1.42.0-nightly3), the changes from atom/apm#862 seemed to resolve this issue for some packages, but others are still having the same problem (as shown below).

With this in mind, I'm going to re-open this issue.

I'm not sure where we should go from here, so if anyone has ideas, I'd love to hear them. In the meantime, I'm going to assess the feasibility of reverting atom/apm#845. If that resolves the issue, that may be our most pragmatic option for the near term.


Before and after atom/apm#862

Comparing 1.42.0-nightly2 (which does not include atom/apm#862) to 1.42.0-nightly3 (which does include atom/apm#862), here's what I'm seeing:

Package 1.42.0-nightly2 1.42.0-nightly3
hydrogen
language-fuior
platformio-ide-terminal
julia-client

Some example failure logs

julia-client before atom/apm#862
Installing “julia-client@0.9.4” failed.

@pfitzseb/node-pty-prebuilt@0.8.1-prebuilt3 install C:\Users\atom\AppData\Local\Temp\apm-install-dir-119719-7128-a3kdf7.54twl\node_modules\julia-client\node_modules@pfitzseb\node-pty-prebuilt
prebuild-install || node scripts/install.js

C:\Users\atom\AppData\Local\Temp\apm-install-dir-119719-7128-a3kdf7.54twl\node_modules\julia-client\node_modules@pfitzseb\node-pty-prebuilt>if not defined npm_config_node_gyp (node "C:\ProgramData\atom\atom-nightly\app-1.42.0-nightly2\resources\app\apm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\....\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\ProgramData\atom\atom-nightly\app-1.42.0-nightly2\resources\app\apm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )

prebuild-install WARN install No prebuilt binaries found (target=4.2.7 runtime=node arch=x64 libc= platform=win32)
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack at PythonFinder.failNoPython (C:\ProgramData\atom\atom-nightly\app-1.42.0-nightly2\resources\app\apm\node_modules\npm\node_modules\node-gyp\lib\configure.js:492:19)
gyp ERR! stack at PythonFinder. (C:\ProgramData\atom\atom-nightly\app-1.42.0-nightly2\resources\app\apm\node_modules\npm\node_modules\node-gyp\lib\configure.js:517:16)
gyp ERR! stack at C:\ProgramData\atom\atom-nightly\app-1.42.0-nightly2\resources\app\apm\node_modules\npm\node_modules\graceful-fs\polyfills.js:284:29
gyp ERR! stack at FSReqWrap.oncomplete (fs.js:182:21)
gyp ERR! System Windows_NT 10.0.17134
gyp ERR! command "C:\ProgramData\atom\atom-nightly\app-1.42.0-nightly2\resources\app\apm\bin\node.exe" "C:\ProgramData\atom\atom-nightly\app-1.42.0-nightly2\resources\app\apm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\atom\AppData\Local\Temp\apm-install-dir-119719-7128-a3kdf7.54twl\node_modules\julia-client\node_modules@pfitzseb\node-pty-prebuilt
gyp ERR! node -v v10.2.1
gyp ERR! node-gyp -v v3.7.0
gyp ERR! not ok
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\atom\AppData\Local\Temp\apm-install-dir-119719-7128-a3kdf7.54twl\package.json'
npm WARN apm-install-dir-119719-7128-a3kdf7.54twl No description
npm WARN apm-install-dir-119719-7128-a3kdf7.54twl No repository field.
npm WARN apm-install-dir-119719-7128-a3kdf7.54twl No README data
npm WARN apm-install-dir-119719-7128-a3kdf7.54twl No license field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @pfitzseb/node-pty-prebuilt@0.8.1-prebuilt3 install: prebuild-install || node scripts/install.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @pfitzseb/node-pty-prebuilt@0.8.1-prebuilt3 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\atom.atom.apm_logs\2019-08-19T13_56_09_396Z-debug.log

hydrogen before atom/apm#862
Installing “Hydrogen@2.10.3” failed.

zeromq@5.1.0 install C:\Users\atom\AppData\Local\Temp\apm-install-dir-119719-3544-1s9t6n1.yyj4\node_modules\Hydrogen\node_modules\zeromq
node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild)

prebuild-install WARN install No prebuilt binaries found (target=4.2.7 runtime=node arch=x64 platform=win32)

Downloading libzmq for Windows
Download finished

C:\Users\atom\AppData\Local\Temp\apm-install-dir-119719-3544-1s9t6n1.yyj4\node_modules\Hydrogen\node_modules\zeromq>if not defined npm_config_node_gyp (node "C:\Users\atom\AppData\Local\atom-nightly\app-1.42.0-nightly0\resources\app\apm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\....\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\Users\atom\AppData\Local\atom-nightly\app-1.42.0-nightly0\resources\app\apm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )

npm WARN deprecated json-parser@1.1.5: json-parser is deprecated. Please use comment-json instead
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack at PythonFinder.failNoPython (C:\Users\atom\AppData\Local\atom-nightly\app-1.42.0-nightly0\resources\app\apm\node_modules\npm\node_modules\node-gyp\lib\configure.js:492:19)
gyp ERR! stack at PythonFinder. (C:\Users\atom\AppData\Local\atom-nightly\app-1.42.0-nightly0\resources\app\apm\node_modules\npm\node_modules\node-gyp\lib\configure.js:517:16)
gyp ERR! stack at C:\Users\atom\AppData\Local\atom-nightly\app-1.42.0-nightly0\resources\app\apm\node_modules\npm\node_modules\graceful-fs\polyfills.js:284:29
gyp ERR! stack at FSReqWrap.oncomplete (fs.js:182:21)
gyp ERR! System Windows_NT 10.0.17134
gyp ERR! command "C:\Users\atom\AppData\Local\atom-nightly\app-1.42.0-nightly0\resources\app\apm\bin\node.exe" "C:\Users\atom\AppData\Local\atom-nightly\app-1.42.0-nightly0\resources\app\apm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\atom\AppData\Local\Temp\apm-install-dir-119719-3544-1s9t6n1.yyj4\node_modules\Hydrogen\node_modules\zeromq
gyp ERR! node -v v10.2.1
gyp ERR! node-gyp -v v3.7.0
gyp ERR! not ok
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\atom\AppData\Local\Temp\apm-install-dir-119719-3544-1s9t6n1.yyj4\package.json'
npm WARN react-rangeslider@2.2.0 requires a peer of react@^0.14.0 || ^15.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN vega-lite@3.4.0 requires a peer of vega@^5.4.0 but none is installed. You must install peer dependencies yourself.
npm WARN vega-themes@2.3.2 requires a peer of vega@* but none is installed. You must install peer dependencies yourself.
npm WARN apm-install-dir-119719-3544-1s9t6n1.yyj4 No description
npm WARN apm-install-dir-119719-3544-1s9t6n1.yyj4 No repository field.
npm WARN apm-install-dir-119719-3544-1s9t6n1.yyj4 No README data
npm WARN apm-install-dir-119719-3544-1s9t6n1.yyj4 No license field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zeromq@5.1.0 install: node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild)
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the zeromq@5.1.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\atom.atom.apm_logs\2019-08-19T13_09_51_816Z-debug.log

hydrogen after atom/apm#862
Installing “Hydrogen@2.10.3” failed.Hide output…

zeromq@5.1.0 install C:\Users\atom\AppData\Local\Temp\apm-install-dir-119719-5668-1xy1fep.0ppe\node_modules\Hydrogen\node_modules\zeromq
node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild)

prebuild-install WARN install No prebuilt binaries found (target=4.2.7 runtime=electron arch=x64 platform=win32)

Downloading libzmq for Windows
Download finished

C:\Users\atom\AppData\Local\Temp\apm-install-dir-119719-5668-1xy1fep.0ppe\node_modules\Hydrogen\node_modules\zeromq>if not defined npm_config_node_gyp (node "C:\Users\atom\Downloads\atom-x64-windows\Atom Nightly x64\resources\app\apm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\....\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\Users\atom\Downloads\atom-x64-windows\Atom Nightly x64\resources\app\apm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )

npm WARN deprecated json-parser@1.1.5: json-parser is deprecated. Please use comment-json instead
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack at PythonFinder.failNoPython (C:\Users\atom\Downloads\atom-x64-windows\Atom Nightly x64\resources\app\apm\node_modules\npm\node_modules\node-gyp\lib\configure.js:492:19)
gyp ERR! stack at PythonFinder. (C:\Users\atom\Downloads\atom-x64-windows\Atom Nightly x64\resources\app\apm\node_modules\npm\node_modules\node-gyp\lib\configure.js:517:16)
gyp ERR! stack at C:\Users\atom\Downloads\atom-x64-windows\Atom Nightly x64\resources\app\apm\node_modules\npm\node_modules\graceful-fs\polyfills.js:284:29
gyp ERR! stack at FSReqWrap.oncomplete (fs.js:182:21)
gyp ERR! System Windows_NT 10.0.17134
gyp ERR! command "C:\Users\atom\Downloads\atom-x64-windows\Atom Nightly x64\resources\app\apm\bin\node.exe" "C:\Users\atom\Downloads\atom-x64-windows\Atom Nightly x64\resources\app\apm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\atom\AppData\Local\Temp\apm-install-dir-119719-5668-1xy1fep.0ppe\node_modules\Hydrogen\node_modules\zeromq
gyp ERR! node -v v10.2.1
gyp ERR! node-gyp -v v3.7.0
gyp ERR! not ok
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\atom\AppData\Local\Temp\apm-install-dir-119719-5668-1xy1fep.0ppe\package.json'
npm WARN react-rangeslider@2.2.0 requires a peer of react@^0.14.0 || ^15.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN vega-themes@2.3.2 requires a peer of vega@* but none is installed. You must install peer dependencies yourself.
npm WARN vega-lite@3.4.0 requires a peer of vega@^5.4.0 but none is installed. You must install peer dependencies yourself.
npm WARN apm-install-dir-119719-5668-1xy1fep.0ppe No description
npm WARN apm-install-dir-119719-5668-1xy1fep.0ppe No repository field.
npm WARN apm-install-dir-119719-5668-1xy1fep.0ppe No README data
npm WARN apm-install-dir-119719-5668-1xy1fep.0ppe No license field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zeromq@5.1.0 install: node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild)
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the zeromq@5.1.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\atom.atom.apm_logs\2019-08-19T13_37_08_815Z-debug.log

@pfitzseb
Copy link
Contributor

The Hydrogen/zeromq failure happens because zeromq.js doesn't provide any prebuilt binaries for Electron > v4.0.4 (i.e. with ABI v69). Short of downgrading to older Electron versions there's nothing that can be done on the Atom side in that case.

@jasonrudolph
Copy link
Contributor

The Hydrogen/zeromq failure happens because zeromq.js doesn't provide any prebuilt binaries for Electron > v4.0.4 (i.e. with ABI v69).

Thanks for pointing that out, @pfitzseb. I should have compared Atom 1.40.0 to a candidate build of 1.40.1 that includes atom/apm#862. When I perform that comparison, things look much better. 😅

Package 1.40.0 1.40.1 candidate build with atom/apm#862
hydrogen
language-fuior
platformio-ide-terminal
julia-client

We'll work on getting a 1.40.1 release published with this fix in place.

@jasonrudolph
Copy link
Contributor

We'll work on getting a 1.40.1 release published with this fix in place.

1.40.1 is now available with this fix.

1.41.0-beta1 is out with this fix as well, but it's important to note that Atom 1.41.x uses Electron 4, whereas Atom 1.40.x uses Electron 3. As @pfitzseb notes in #19780 (comment), this distinction matters because some modules don't yet have prebuilt binaries for Electron 4. For example, the hydrogen package depends on zeromq, which has not yet published a prebuilt binary compatible with Electron 4. Until the zeromq team publishes a prebuilt binary for Electron 4, you won't be able to rely on prebuilt binaries for installing/using hydrogen in Atom 1.41.x.

@jasonrudolph
Copy link
Contributor

For example, the hydrogen package depends on zeromq, which has not yet published a prebuilt binary compatible with Electron 4.

zeromq/zeromq.js#310 is tracking the request for the zeromq team to publish a prebuilt binary for Electron 4.

@yilunchen27
Copy link

I tried: npm config set strict-ssl false . Then all problem solved.

@lock
Copy link

lock bot commented Mar 27, 2020

This issue has been automatically locked since there has not been any recent activity after it was closed. If you can still reproduce this issue in Safe Mode then please open a new issue and fill out the entire issue template to ensure that we have enough information to address your issue. Thanks!

@lock lock bot locked as resolved and limited conversation to collaborators Mar 27, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants