microsoft / node-pty

Fork pseudoterminals in Node.JS
Other
1.42k stars 233 forks source link

Node-PTY does not install on Win11Pro, for a Electron project #649

Closed MelvinG24 closed 2 months ago

MelvinG24 commented 6 months ago

Environment details

Issue description

Trying to install Node-PTY with Electron, but does not install. I have trying to clean the cache, I have tried to delete the node folder and reinstall everything again, I have tried to install Windows-build-tools (but does not install either)

Following is the log note file:

0 verbose cli C:\Program Files\nodejs\node.exe C:\Users\melvi\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js 1 info using npm@10.2.5 2 info using node@v18.17.1 3 timing npm:load:whichnode Completed in 2ms 4 timing config:load:defaults Completed in 1ms 5 timing config:load:file:C:\Users\melvi\AppData\Roaming\npm\node_modules\npm\npmrc Completed in 3ms 6 timing config:load:builtin Completed in 3ms 7 timing config:load:cli Completed in 2ms 8 timing config:load:env Completed in 0ms 9 timing config:load:project Completed in 0ms 10 timing config:load:file:C:\Users\melvi.npmrc Completed in 0ms 11 timing config:load:user Completed in 1ms 12 timing config:load:file:C:\Users\melvi\AppData\Roaming\npm\etc\npmrc Completed in 0ms 13 timing config:load:global Completed in 0ms 14 timing config:load:setEnvs Completed in 1ms 15 timing config:load Completed in 8ms 16 timing npm:load:configload Completed in 8ms 17 timing config:load:flatten Completed in 2ms 18 timing npm:load:mkdirpcache Completed in 0ms 19 timing npm:load:mkdirplogs Completed in 0ms 20 verbose title npm install node-pty 21 verbose argv "install" "node-pty" "--global" 22 timing npm:load:setTitle Completed in 1ms 23 timing npm:load:display Completed in 1ms 24 verbose logfile logs-max:10 dir:C:\Users\melvi\AppData\Local\npm-cache_logs\2023-12-20T15_23_36_523Z- 25 verbose logfile C:\Users\melvi\AppData\Local\npm-cache_logs\2023-12-20T15_23_36_523Z-debug-0.log 26 timing npm:load:logFile Completed in 5ms 27 timing npm:load:timers Completed in 0ms 28 timing npm:load:configScope Completed in 0ms 29 timing npm:load Completed in 36ms 30 timing config:load:flatten Completed in 0ms 31 timing arborist:ctor Completed in 0ms 32 silly logfile start cleaning logs, removing 2 files 33 timing idealTree:init Completed in 4ms 34 timing idealTree:userRequests Completed in 2ms 35 silly idealTree buildDeps 36 silly fetch manifest node-pty@ 37 silly logfile done cleaning log files 38 http fetch GET 200 https://registry.npmjs.org/node-pty 10ms (cache hit) 39 silly placeDep ROOT node-pty@1.0.0 OK for: want: 40 silly fetch manifest nan@^2.17.0 41 http fetch GET 200 https://registry.npmjs.org/nan 4ms (cache hit) 42 timing idealTree:#root Completed in 20ms 43 silly placeDep node_modules/node-pty nan@2.18.0 OK for: node-pty@1.0.0 want: ^2.17.0 44 timing idealTree:node_modules/node-pty Completed in 1ms 45 timing idealTree:node_modules/node-pty/node_modules/nan Completed in 0ms 46 timing idealTree:buildDeps Completed in 22ms 47 timing idealTree:fixDepFlags Completed in 1ms 48 timing idealTree Completed in 29ms 49 timing reify:loadTrees Completed in 30ms 50 timing reify:diffTrees Completed in 0ms 51 silly reify moves {} 52 timing reify:retireShallow Completed in 1ms 53 timing reify:createSparse Completed in 1ms 54 timing reify:loadBundles Completed in 0ms 55 timing reifyNode:node_modules/node-pty/node_modules/nan Completed in 52ms 56 timing reifyNode:node_modules/node-pty Completed in 138ms 57 timing reify:unpack Completed in 138ms 58 timing reify:unretire Completed in 0ms 59 timing build:queue Completed in 1ms 60 info run node-pty@1.0.0 install node_modules/node-pty node-gyp rebuild 61 info run node-pty@1.0.0 install { code: 1, signal: null } 62 timing reify:rollback:createSparse Completed in 30ms 63 timing reify:rollback:retireShallow Completed in 0ms 64 timing command:install Completed in 21481ms 65 verbose stack Error: command failed 65 verbose stack at ChildProcess. (C:\Users\melvi\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\promise-spawn\lib\index.js:53:27) 65 verbose stack at ChildProcess.emit (node:events:514:28) 65 verbose stack at maybeClose (node:internal/child_process:1091:16) 65 verbose stack at ChildProcess._handle.onexit (node:internal/child_process:302:5) 66 verbose pkgid node-pty@1.0.0 67 verbose cwd D:\Users\melvi\source\repos\Portfolio\Personal projects (For Fun)\Quest Home Environment Converter 68 verbose Windows_NT 10.0.22631 69 verbose node v18.17.1 70 verbose npm v10.2.5 71 error code 1 72 error path C:\Users\melvi\AppData\Roaming\npm\node_modules\node-pty 73 error command failed 74 error command C:\Windows\system32\cmd.exe /d /s /c node-gyp rebuild 75 error C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(504,5): error MSB8040: Spectre-mitigated libraries are required for this project. Install them from the Visual Studio installer (Individual components tab) for any toolsets and architectures being used. Learn more: https://aka.ms/Ofhn4c [C:\Users\melvi\AppData\Roaming\npm\node_modules\node-pty\build\conpty.vcxproj] 75 error C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(504,5): error MSB8040: Spectre-mitigated libraries are required for this project. Install them from the Visual Studio installer (Individual components tab) for any toolsets and architectures being used. Learn more: https://aka.ms/Ofhn4c [C:\Users\melvi\AppData\Roaming\npm\node_modules\node-pty\build\conpty_console_list.vcxproj] 75 error Agent.cc 75 error AgentCreateDesktop.cc 75 error ConsoleFont.cc 75 error ConsoleInput.cc 75 error ConsoleInputReencoding.cc 75 error ConsoleLine.cc 75 error DebugShowInput.cc 75 error DefaultInputMap.cc 75 error EventLoop.cc 75 error InputMap.cc 75 error LargeConsoleRead.cc 75 error NamedPipe.cc 75 error Scraper.cc 75 error Terminal.cc 75 error Win32Console.cc 75 error Win32ConsoleBuffer.cc 75 error main.cc 75 error BackgroundDesktop.cc 75 error Buffer.cc 75 error DebugClient.cc 75 error GenRandom.cc 75 error OwnedHandle.cc 75 error StringUtil.cc 75 error WindowsSecurity.cc 75 error WindowsVersion.cc 75 error WinptyAssert.cc 75 error WinptyException.cc 75 error WinptyVersion.cc 75 error win_delay_load_hook.cc 75 error Generating code 75 error Previous IPDB not found, fall back to full compilation. 75 error C:\Users\melvi\AppData\Roaming\npm\node_modules\node-pty\deps\winpty\src\agent\Agent.cc(231): warning C4722: 'Agent::~Agent': destructor never returns, potential memory leak [C:\Users\melvi\AppData\Roaming\npm\node_modules\node-pty\build\deps\winpty\src\winpty-agent.vcxproj] 75 error All 1732 functions were compiled because no usable IPDB/IOBJ from previous compilation was found. 75 error Finished generating code 75 error winpty-agent.vcxproj -> C:\Users\melvi\AppData\Roaming\npm\node_modules\node-pty\build\Release\winpty-agent.exe 75 error AgentLocation.cc 75 error winpty.cc 75 error BackgroundDesktop.cc 75 error Buffer.cc 75 error DebugClient.cc 75 error GenRandom.cc 75 error OwnedHandle.cc 75 error StringUtil.cc 75 error WindowsSecurity.cc 75 error WindowsVersion.cc 75 error WinptyAssert.cc 75 error WinptyException.cc 75 error WinptyVersion.cc 75 error win_delay_load_hook.cc 75 error Creating library C:\Users\melvi\AppData\Roaming\npm\node_modules\node-pty\build\Release\winpty.lib and object C:\Users\melvi\AppData\Roaming\npm\node_modules\node-pty\build\Release\winpty.exp 75 error Generating code 75 error Previous IPDB not found, fall back to full compilation. 75 error All 1042 functions were compiled because no usable IPDB/IOBJ from previous compilation was found. 75 error Finished generating code 75 error winpty.vcxproj -> C:\Users\melvi\AppData\Roaming\npm\node_modules\node-pty\build\Release\winpty.dll 75 error C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(504,5): error MSB8040: Spectre-mitigated libraries are required for this project. Install them from the Visual Studio installer (Individual components tab) for any toolsets and architectures being used. Learn more: https://aka.ms/Ofhn4c [C:\Users\melvi\AppData\Roaming\npm\node_modules\node-pty\build\pty.vcxproj] 76 error gyp info it worked if it ends with ok 76 error gyp info using node-gyp@10.0.1 76 error gyp info using node@18.17.1 | win32 | x64 76 error gyp info find Python using Python version 3.11.5 found at "C:\Python311\python.exe" 76 error gyp info find VS using VS2022 (17.8.34330.188) found at: 76 error gyp info find VS "C:\Program Files\Microsoft Visual Studio\2022\Community" 76 error gyp info find VS run with --verbose for detailed information 76 error gyp info spawn C:\Python311\python.exe 76 error gyp info spawn args [ 76 error gyp info spawn args 'C:\Users\melvi\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\gyp\gyp_main.py', 76 error gyp info spawn args 'binding.gyp', 76 error gyp info spawn args '-f', 76 error gyp info spawn args 'msvs', 76 error gyp info spawn args '-I', 76 error gyp info spawn args 'C:\Users\melvi\AppData\Roaming\npm\node_modules\node-pty\build\config.gypi', 76 error gyp info spawn args '-I', 76 error gyp info spawn args 'C:\Users\melvi\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\addon.gypi', 76 error gyp info spawn args '-I', 76 error gyp info spawn args 'C:\Users\melvi\AppData\Local\node-gyp\Cache\18.17.1\include\node\common.gypi', 76 error gyp info spawn args '-Dlibrary=shared_library', 76 error gyp info spawn args '-Dvisibility=default', 76 error gyp info spawn args '-Dnode_root_dir=C:\Users\melvi\AppData\Local\node-gyp\Cache\18.17.1', 76 error gyp info spawn args '-Dnode_gyp_dir=C:\Users\melvi\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp', 76 error gyp info spawn args '-Dnode_lib_file=C:\\Users\\melvi\\AppData\\Local\\node-gyp\\Cache\\18.17.1\\<(target_arch)\\node.lib', 76 error gyp info spawn args '-Dmodule_root_dir=C:\Users\melvi\AppData\Roaming\npm\node_modules\node-pty', 76 error gyp info spawn args '-Dnode_engine=v8', 76 error gyp info spawn args '--depth=.', 76 error gyp info spawn args '--no-parallel', 76 error gyp info spawn args '--generator-output', 76 error gyp info spawn args 'C:\Users\melvi\AppData\Roaming\npm\node_modules\node-pty\build', 76 error gyp info spawn args '-Goutput_dir=.' 76 error gyp info spawn args ] 76 error gyp info spawn C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe 76 error gyp info spawn args [ 76 error gyp info spawn args 'build\binding.sln', 76 error gyp info spawn args '/clp:Verbosity=minimal', 76 error gyp info spawn args '/nologo', 76 error gyp info spawn args '/p:Configuration=Release;Platform=x64' 76 error gyp info spawn args ] 76 error gyp ERR! build error 76 error gyp ERR! stack Error: C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe failed with exit code: 1 76 error gyp ERR! stack at ChildProcess. (C:\Users\melvi\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\build.js:209:23) 76 error gyp ERR! stack at ChildProcess.emit (node:events:514:28) 76 error gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:291:12) 76 error gyp ERR! System Windows_NT 10.0.22631 76 error gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Users\melvi\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild" 76 error gyp ERR! cwd C:\Users\melvi\AppData\Roaming\npm\node_modules\node-pty 76 error gyp ERR! node -v v18.17.1 76 error gyp ERR! node-gyp -v v10.0.1 76 error gyp ERR! not ok 77 verbose exit 1 78 timing npm Completed in 21756ms 79 verbose unfinished npm timer reify 1703085816775 80 verbose unfinished npm timer reify:build 1703085816950 81 verbose unfinished npm timer build 1703085816950 82 verbose unfinished npm timer build:deps 1703085816950 83 verbose unfinished npm timer build:run:install 1703085816951 84 verbose unfinished npm timer build:run:install:node_modules/node-pty 1703085816951 85 verbose code 1 86 error A complete log of this run can be found in: C:\Users\melvi\AppData\Local\npm-cache_logs\2023-12-20T15_23_36_523Z-debug-0.log

zawata commented 3 months ago
75 error C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(504,5): error MSB8040: Spectre-mitigated libraries are required for this project. Install them from the Visual Studio installer (Individual components tab) for any toolsets and architectures being used. Learn more: https://aka.ms/Ofhn4c [C:\Users\melvi\AppData\Roaming\npm\node_modules\node-pty\build\pty.vcxproj]

you need to install Spectre-mitigated libs in the visual studio installer for your visual studio version and cpu architecture. ~This is not a node-pty requirement specifically but a new requirement of electron 28 I believe.~

Elkiwa commented 2 months ago

It is probably related to https://github.com/microsoft/node-pty/issues/645

rzhao271 commented 2 months ago

This issue is a duplicate of #645

@zawata the requirement is not for Electron, but instead for any project that implements the /QSpectre build flag, which can now be done in Node.js projects with node-gyp by adding a SpectreMitigation property to the binding.gyp file, ref https://github.com/microsoft/node-pty/blob/main/binding.gyp#L9

I have just updated the VS Code wiki to include instructions on how to download the Spectre-mitigated libraries, and will see whether to copy over those instructions to this repository in #645.