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

Headers not being extracted into include folder properly

Open MRayermannMSFT opened this issue 2 years ago • 7 comments

  • Node Version: 16.11.0
  • Platform: Windows 10
  • Compiler: Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
  • Module: various native modules
Verbose output (from npm or node-gyp):
npm ERR! code 1
npm ERR! path C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node-gyp rebuild
npm ERR! Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
npm ERR! Build started 1/5/2022 11:17:30 AM.
npm ERR! Project "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\binding.sln" on node 1 (default targets).
npm ERR! ValidateSolutionConfiguration:
npm ERR!   Building solution configuration "Release|x64".
npm ERR! Project "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\binding.sln" (1) is building "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\selectcert.vcxproj" (2) on node 1 (default targets).
npm ERR! PrepareForBuild:
npm ERR!   Creating directory "Release\obj\selectcert\".
npm ERR!   Creating directory "Release\obj\selectcert\selectcert.tlog\".
npm ERR! InitializeBuildStatus:
npm ERR!   Creating "Release\obj\selectcert\selectcert.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
npm ERR! MakeDirsForCl:
npm ERR!   Creating directory "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\Release\obj\selectcert\src".
npm ERR! ClCompile:
npm ERR!   C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\CL.exe /c /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\include\node" /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\src" /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\deps\openssl\config" /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\deps\openssl\openssl\include" /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\deps\uv\include" /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\deps\zlib" /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\deps\v8\include" /I..\..\nan /Z7 /nologo /W3 /WX- /diagnostics:classic /MP /Ox /Ob2 /Oi /Ot /Oy /GL /D NODE_GYP_MODULE_NAME=selectcert /D USING_UV_SHARED=1 /D USING_V8_SHARED=1 /D V8_DEPRECATION_WARNINGS=1 /D V8_DEPRECATION_WARNINGS /D V8_IMMINENT_DEPRECATION_WARNINGS /D _GLIBCXX_USE_CXX11_ABI=1 /D V8_COMPRESS_POINTERS /D V8_COMPRESS_POINTERS_IN_ISOLATE_CAGE /D V8_31BIT_SMIS_ON_64BIT_ARCH /D V8_REVERSE_JSARGS /D WIN32 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _HAS_EXCEPTIONS=0 /D OPENSSL_NO_PINSHARED /D OPENSSL_THREADS /D BUILDING_NODE_EXTENSION /D "HOST_BINARY=\"node.exe\"" /D _WINDLL /GF /Gm- /MT /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR- /Fo"Release\obj\selectcert\\src\selectcert.obj" /Fd"Release\obj\selectcert\vc141.pdb" /Gd /TP /wd4351 /wd4355 /wd4800 /wd4251 /wd4275 /wd4244 /wd4267 /FC /errorReport:queue ..\src\selectcert.cc
npm ERR!   selectcert.cc
npm ERR! c:\repos\storageexplorer\src\standalone\node_modules\nan\nan.h(24): fatal error C1083: Cannot open include file: 'node_version.h': No such file or directory [C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\selectcert.vcxproj]
npm ERR! Done Building Project "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\selectcert.vcxproj" (default targets) -- FAILED.
npm ERR! Done Building Project "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\binding.sln" (default targets) -- FAILED.
npm ERR!
npm ERR! Build FAILED.
npm ERR!
npm ERR! "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\binding.sln" (default target) (1) ->
npm ERR! "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\selectcert.vcxproj" (default target) (2) ->
npm ERR! (ClCompile target) ->
npm ERR!   c:\repos\storageexplorer\src\standalone\node_modules\nan\nan.h(24): fatal error C1083: Cannot open include file: 'node_version.h': No such file or directory [C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\selectcert.vcxproj]
npm ERR!
npm ERR!     0 Warning(s)
npm ERR!     1 Error(s)
npm ERR!
npm ERR! Time Elapsed 00:00:01.11
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp verb cli [
npm ERR! gyp verb cli   'C:\\Program Files\\nodejs\\node.exe',
npm ERR! gyp verb cli   'C:\\Users\\marayerm\\AppData\\Roaming\\nvm\\v16.11.0\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js',
npm ERR! gyp verb cli   'rebuild'
npm ERR! gyp verb cli ]
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | win32 | x64
npm ERR! gyp verb command rebuild []
npm ERR! gyp verb command clean []
npm ERR! gyp verb clean removing "build" directory
npm ERR! gyp verb command configure []
npm ERR! gyp verb download using dist-url https://electronjs.org/headers
npm ERR! gyp verb find Python Python is not set from command line or npm configuration
npm ERR! gyp verb find Python Python is not set from environment variable PYTHON
npm ERR! gyp verb find Python checking if "python3" can be used
npm ERR! gyp verb find Python - executing "python3" to get executable path
npm ERR! gyp verb find Python - executable path is "C:\Users\marayerm\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\python.exe"
npm ERR! gyp verb find Python - executing "C:\Users\marayerm\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\python.exe" to get version
npm ERR! gyp verb find Python - version is "3.9.9"
npm ERR! gyp info find Python using Python version 3.9.9 found at "C:\Users\marayerm\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\python.exe"npm ERR! gyp verb get node dir compiling against --target node version: 16.0.4
npm ERR! gyp verb command install [ '16.0.4' ]
npm ERR! gyp verb download using dist-url https://electronjs.org/headers
npm ERR! gyp verb install input version string "16.0.4"
npm ERR! gyp verb install installing version: 16.0.4
npm ERR! gyp verb install --ensure was passed, so won't reinstall if already installed
npm ERR! gyp verb install version is already installed, need to check "installVersion"
npm ERR! gyp verb got "installVersion" 0
npm ERR! gyp verb needs "installVersion" 9
npm ERR! gyp verb install version is no good; reinstalling
npm ERR! gyp verb ensuring nodedir is created C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4
npm ERR! gyp http GET https://electronjs.org/headers/v16.0.4/node-v16.0.4-headers.tar.gz
npm ERR! gyp http 200 https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist/v16.0.4/node-v16.0.4-headers.tar.gz
npm ERR! gyp verb extracted file from tarball node_headers/include/node/common.gypi
npm ERR! gyp verb extracted file from tarball node_headers/include/node/config.gypi
npm ERR! gyp verb extracted file from tarball node_headers/include/node/cppgc/common.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/js_native_api.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/js_native_api_types.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/libplatform/libplatform-export.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/libplatform/libplatform.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/libplatform/v8-tracing.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/node.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/node_api.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/node_api_types.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/node_buffer.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/node_object_wrap.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/node_version.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/aix.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/android-ifaddrs.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/bsd.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/darwin.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/errno.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/linux.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/os390.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/posix.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/stdint-msvc2008.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/sunos.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/threadpool.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/tree.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/unix.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/version.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/win.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-array-buffer.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-callbacks.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-container.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-context.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-cppgc.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-data.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-date.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-debug.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-embedder-heap.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-exception.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-extension.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-external.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-fast-api-calls.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-forward.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-function-callback.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-function.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-initialization.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-inspector-protocol.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-inspector.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-internal.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-isolate.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-json.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-local-handle.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-locker.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-maybe.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-memory-span.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-message.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-metrics.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-microtask-queue.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-microtask.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-object.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-persistent-handle.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-platform.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-primitive-object.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-primitive.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-profiler.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-promise.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-proxy.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-regexp.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-script.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-snapshot.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-statistics.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-template.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-traced-handle.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-typed-array.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-unwinder-state.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-unwinder.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-util.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-value-serializer-version.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-value-serializer.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-value.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-version-string.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-version.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-wasm-trap-handler-posix.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-wasm-trap-handler-win.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-wasm.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-weak-callback-info.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8config.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/zconf.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/zlib.h
npm ERR! gyp verb content checksum node-v16.0.4-headers.tar.gz 628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685
npm ERR! gyp verb tarball done parsing tarball
npm ERR! gyp verb on Windows; need to download `node.lib`...
npm ERR! gyp verb ia32 node.lib dir C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\ia32
npm ERR! gyp verb ia32 node.lib url https://electronjs.org/headers/v16.0.4/win-x86/node.lib
npm ERR! gyp verb x64 node.lib dir C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\x64
npm ERR! gyp verb x64 node.lib url https://electronjs.org/headers/v16.0.4/win-x64/node.lib
npm ERR! gyp verb arm64 node.lib dir C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\arm64
npm ERR! gyp verb arm64 node.lib url https://electronjs.org/headers/v16.0.4/win-arm64/node.lib
npm ERR! gyp verb check download content checksum, need to download `SHASUMS256.txt`...
npm ERR! gyp verb checksum url https://electronjs.org/headers/v16.0.4/SHASUMS256.txt
npm ERR! gyp http GET https://electronjs.org/headers/v16.0.4/SHASUMS256.txt
npm ERR! gyp verb streaming ia32 node.lib to: C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\ia32\node.lib
npm ERR! gyp http GET https://electronjs.org/headers/v16.0.4/win-x86/node.lib
npm ERR! gyp verb streaming x64 node.lib to: C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\x64\node.lib
npm ERR! gyp http GET https://electronjs.org/headers/v16.0.4/win-x64/node.lib
npm ERR! gyp verb streaming arm64 node.lib to: C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\arm64\node.lib
npm ERR! gyp http GET https://electronjs.org/headers/v16.0.4/win-arm64/node.lib
npm ERR! gyp http 200 https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist/v16.0.4/SHASUMS256.txt
npm ERR! gyp verb checksum data {"node-v16.0.4.tar.gz":"628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685","node-v16.0.4-headers.tar.gz":"628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685","iojs-v16.0.4.tar.gz":"628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685","iojs-v16.0.4-headers.tar.gz":"628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685","node.lib":"a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e","x64/node.lib":"c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380","win-x86/iojs.lib":"a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e","win-x64/iojs.lib":"c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380","win-x86/node.lib":"a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e","win-x64/node.lib":"c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380","arm64/node.lib":"f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6","win-arm64/iojs.lib":"f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6","win-arm64/node.lib":"f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6"}
npm ERR! gyp http 200 https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist/v16.0.4/win-x64/node.lib
npm ERR! gyp http 200 https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist/v16.0.4/win-x86/node.lib
npm ERR! gyp http 200 https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist/v16.0.4/win-arm64/node.lib
npm ERR! gyp verb content checksum win-x86/node.lib a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e
npm ERR! gyp verb content checksum win-arm64/node.lib f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6
npm ERR! gyp verb content checksum win-x64/node.lib c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380
npm ERR! gyp verb download contents checksum {"node-v16.0.4-headers.tar.gz":"628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685","win-x86/node.lib":"a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e","win-arm64/node.lib":"f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6","win-x64/node.lib":"c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380"}
npm ERR! gyp verb validating download checksum for node-v16.0.4-headers.tar.gz (628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685 == 628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685)
npm ERR! gyp verb validating download checksum for win-x86/node.lib (a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e == a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e)
npm ERR! gyp verb validating download checksum for win-arm64/node.lib (f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6 == f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6)
npm ERR! gyp verb validating download checksum for win-x64/node.lib (c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380 == c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380)
npm ERR! gyp verb get node dir target node version installed: 16.0.4
npm ERR! gyp verb build dir attempting to create "build" dir: C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build
npm ERR! gyp verb build dir "build" dir needed to be created? Yes
npm ERR! gyp verb find VS msvs_version not set from command line or npm config
npm ERR! gyp verb find VS VCINSTALLDIR not set, not running in VS Command Prompt
npm ERR! gyp verb find VS unknown version "undefined" found at "C:\Program Files\Microsoft Visual Studio\2022\Preview"
npm ERR! gyp verb find VS checking VS2019 (16.11.31729.503) found at:
npm ERR! gyp verb find VS "C:\Program Files (x86)\Microsoft Visual Studio\2019\PreviewChannel"
npm ERR! gyp verb find VS - "Visual Studio C++ core features" missing
npm ERR! gyp verb find VS checking VS2017 (15.9.28307.1745) found at:
npm ERR! gyp verb find VS "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise"
npm ERR! gyp verb find VS - found "Visual Studio C++ core features"
npm ERR! gyp verb find VS - found VC++ toolset: v141
npm ERR! gyp verb find VS - found Windows SDK: 10.0.17763.0
npm ERR! gyp info find VS using VS2017 (15.9.28307.1745) found at:
npm ERR! gyp info find VS "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise"
npm ERR! gyp info find VS run with --verbose for detailed information
npm ERR! gyp verb build/config.gypi creating config file
npm ERR! gyp verb build/config.gypi writing out config file: C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\config.gypi
npm ERR! gyp verb config.gypi checking for gypi file: C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\config.gypi
npm ERR! gyp verb common.gypi checking for gypi file: C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\common.gypi
npm ERR! gyp verb gyp gyp format was not specified; forcing "msvs"
npm ERR! gyp info spawn C:\Users\marayerm\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\python.exe
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   'C:\\Users\\marayerm\\AppData\\Roaming\\nvm\\v16.11.0\\node_modules\\npm\\node_modules\\node-gyp\\gyp\\gyp_main.py',
npm ERR! gyp info spawn args   'binding.gyp',
npm ERR! gyp info spawn args   '-f',
npm ERR! gyp info spawn args   'msvs',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'C:\\repos\\StorageExplorer\\src\\Standalone\\node_modules\\msint-selectcert\\build\\config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'C:\\Users\\marayerm\\AppData\\Roaming\\nvm\\v16.11.0\\node_modules\\npm\\node_modules\\node-gyp\\addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'C:\\Users\\marayerm\\AppData\\Local\\node-gyp\\Cache\\16.0.4\\include\\node\\common.gypi',
npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
npm ERR! gyp info spawn args   '-Dvisibility=default',
npm ERR! gyp info spawn args   '-Dnode_root_dir=C:\\Users\\marayerm\\AppData\\Local\\node-gyp\\Cache\\16.0.4',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=C:\\Users\\marayerm\\AppData\\Roaming\\nvm\\v16.11.0\\node_modules\\npm\\node_modules\\node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=C:\\\\Users\\\\marayerm\\\\AppData\\\\Local\\\\node-gyp\\\\Cache\\\\16.0.4\\\\<(target_arch)\\\\node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=C:\\repos\\StorageExplorer\\src\\Standalone\\node_modules\\msint-selectcert',
npm ERR! gyp info spawn args   '-Dnode_engine=v8',
npm ERR! gyp info spawn args   '--depth=.',
npm ERR! gyp info spawn args   '--no-parallel',
npm ERR! gyp info spawn args   '--generator-output',
npm ERR! gyp info spawn args   'C:\\repos\\StorageExplorer\\src\\Standalone\\node_modules\\msint-selectcert\\build',
npm ERR! gyp info spawn args   '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp verb command build []
npm ERR! gyp verb build type Release
npm ERR! gyp verb architecture x64
npm ERR! gyp verb node dev dir C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4
npm ERR! gyp verb found first Solution file build/binding.sln
npm ERR! gyp verb using MSBuild: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe
npm ERR! gyp info spawn C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   'build/binding.sln',
npm ERR! gyp info spawn args   '/nologo',
npm ERR! gyp info spawn args   '/p:Configuration=Release;Platform=x64'
npm ERR! gyp info spawn args ]
npm ERR! gyp ERR! build error
npm ERR! gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1
npm ERR! gyp ERR! stack     at ChildProcess.onExit (C:\Users\marayerm\AppData\Roaming\nvm\v16.11.0\node_modules\npm\node_modules\node-gyp\lib\build.js:194:23)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:390:28)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
npm ERR! gyp ERR! System Windows_NT 10.0.19044
npm ERR! gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\marayerm\\AppData\\Roaming\\nvm\\v16.11.0\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert
npm ERR! gyp ERR! node -v v16.11.0
npm ERR! gyp ERR! node-gyp -v v8.2.0
npm ERR! gyp ERR! not oknpm ERR! code 1
npm ERR! path C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node-gyp rebuild
npm ERR! Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
npm ERR! Build started 1/5/2022 11:17:30 AM.
npm ERR! Project "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\binding.sln" on node 1 (default targets).
npm ERR! ValidateSolutionConfiguration:
npm ERR!   Building solution configuration "Release|x64".
npm ERR! Project "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\binding.sln" (1) is building "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\selectcert.vcxproj" (2) on node 1 (default targets).
npm ERR! PrepareForBuild:
npm ERR!   Creating directory "Release\obj\selectcert\".
npm ERR!   Creating directory "Release\obj\selectcert\selectcert.tlog\".
npm ERR! InitializeBuildStatus:
npm ERR!   Creating "Release\obj\selectcert\selectcert.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
npm ERR! MakeDirsForCl:
npm ERR!   Creating directory "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\Release\obj\selectcert\src".
npm ERR! ClCompile:
npm ERR!   C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\CL.exe /c /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\include\node" /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\src" /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\deps\openssl\config" /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\deps\openssl\openssl\include" /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\deps\uv\include" /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\deps\zlib" /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\deps\v8\include" /I..\..\nan /Z7 /nologo /W3 /WX- /diagnostics:classic /MP /Ox /Ob2 /Oi /Ot /Oy /GL /D NODE_GYP_MODULE_NAME=selectcert /D USING_UV_SHARED=1 /D USING_V8_SHARED=1 /D V8_DEPRECATION_WARNINGS=1 /D V8_DEPRECATION_WARNINGS /D V8_IMMINENT_DEPRECATION_WARNINGS /D _GLIBCXX_USE_CXX11_ABI=1 /D V8_COMPRESS_POINTERS /D V8_COMPRESS_POINTERS_IN_ISOLATE_CAGE /D V8_31BIT_SMIS_ON_64BIT_ARCH /D V8_REVERSE_JSARGS /D WIN32 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _HAS_EXCEPTIONS=0 /D OPENSSL_NO_PINSHARED /D OPENSSL_THREADS /D BUILDING_NODE_EXTENSION /D "HOST_BINARY=\"node.exe\"" /D _WINDLL /GF /Gm- /MT /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR- /Fo"Release\obj\selectcert\\src\selectcert.obj" /Fd"Release\obj\selectcert\vc141.pdb" /Gd /TP /wd4351 /wd4355 /wd4800 /wd4251 /wd4275 /wd4244 /wd4267 /FC /errorReport:queue ..\src\selectcert.cc
npm ERR!   selectcert.cc
npm ERR! c:\repos\storageexplorer\src\standalone\node_modules\nan\nan.h(24): fatal error C1083: Cannot open include file: 'node_version.h': No such file or directory [C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\selectcert.vcxproj]
npm ERR! Done Building Project "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\selectcert.vcxproj" (default targets) -- FAILED.
npm ERR! Done Building Project "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\binding.sln" (default targets) -- FAILED.
npm ERR!
npm ERR! Build FAILED.
npm ERR!
npm ERR! "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\binding.sln" (default target) (1) ->
npm ERR! "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\selectcert.vcxproj" (default target) (2) ->
npm ERR! (ClCompile target) ->
npm ERR!   c:\repos\storageexplorer\src\standalone\node_modules\nan\nan.h(24): fatal error C1083: Cannot open include file: 'node_version.h': No such file or directory [C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\selectcert.vcxproj]
npm ERR!
npm ERR!     0 Warning(s)
npm ERR!     1 Error(s)
npm ERR!
npm ERR! Time Elapsed 00:00:01.11
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp verb cli [
npm ERR! gyp verb cli   'C:\\Program Files\\nodejs\\node.exe',
npm ERR! gyp verb cli   'C:\\Users\\marayerm\\AppData\\Roaming\\nvm\\v16.11.0\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js',
npm ERR! gyp verb cli   'rebuild'
npm ERR! gyp verb cli ]
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | win32 | x64
npm ERR! gyp verb command rebuild []
npm ERR! gyp verb command clean []
npm ERR! gyp verb clean removing "build" directory
npm ERR! gyp verb command configure []
npm ERR! gyp verb download using dist-url https://electronjs.org/headers
npm ERR! gyp verb find Python Python is not set from command line or npm configuration
npm ERR! gyp verb find Python Python is not set from environment variable PYTHON
npm ERR! gyp verb find Python checking if "python3" can be used
npm ERR! gyp verb find Python - executing "python3" to get executable path
npm ERR! gyp verb find Python - executable path is "C:\Users\marayerm\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\python.exe"
npm ERR! gyp verb find Python - executing "C:\Users\marayerm\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\python.exe" to get version
npm ERR! gyp verb find Python - version is "3.9.9"
npm ERR! gyp info find Python using Python version 3.9.9 found at "C:\Users\marayerm\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\python.exe"npm ERR! gyp verb get node dir compiling against --target node version: 16.0.4
npm ERR! gyp verb command install [ '16.0.4' ]
npm ERR! gyp verb download using dist-url https://electronjs.org/headers
npm ERR! gyp verb install input version string "16.0.4"
npm ERR! gyp verb install installing version: 16.0.4
npm ERR! gyp verb install --ensure was passed, so won't reinstall if already installed
npm ERR! gyp verb install version is already installed, need to check "installVersion"
npm ERR! gyp verb got "installVersion" 0
npm ERR! gyp verb needs "installVersion" 9
npm ERR! gyp verb install version is no good; reinstalling
npm ERR! gyp verb ensuring nodedir is created C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4
npm ERR! gyp http GET https://electronjs.org/headers/v16.0.4/node-v16.0.4-headers.tar.gz
npm ERR! gyp http 200 https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist/v16.0.4/node-v16.0.4-headers.tar.gz
npm ERR! gyp verb extracted file from tarball node_headers/include/node/common.gypi
npm ERR! gyp verb extracted file from tarball node_headers/include/node/config.gypi
npm ERR! gyp verb extracted file from tarball node_headers/include/node/cppgc/common.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/js_native_api.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/js_native_api_types.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/libplatform/libplatform-export.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/libplatform/libplatform.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/libplatform/v8-tracing.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/node.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/node_api.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/node_api_types.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/node_buffer.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/node_object_wrap.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/node_version.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/aix.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/android-ifaddrs.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/bsd.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/darwin.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/errno.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/linux.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/os390.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/posix.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/stdint-msvc2008.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/sunos.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/threadpool.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/tree.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/unix.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/version.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/win.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-array-buffer.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-callbacks.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-container.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-context.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-cppgc.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-data.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-date.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-debug.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-embedder-heap.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-exception.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-extension.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-external.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-fast-api-calls.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-forward.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-function-callback.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-function.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-initialization.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-inspector-protocol.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-inspector.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-internal.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-isolate.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-json.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-local-handle.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-locker.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-maybe.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-memory-span.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-message.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-metrics.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-microtask-queue.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-microtask.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-object.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-persistent-handle.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-platform.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-primitive-object.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-primitive.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-profiler.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-promise.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-proxy.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-regexp.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-script.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-snapshot.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-statistics.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-template.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-traced-handle.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-typed-array.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-unwinder-state.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-unwinder.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-util.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-value-serializer-version.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-value-serializer.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-value.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-version-string.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-version.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-wasm-trap-handler-posix.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-wasm-trap-handler-win.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-wasm.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-weak-callback-info.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8config.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/zconf.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/zlib.h
npm ERR! gyp verb content checksum node-v16.0.4-headers.tar.gz 628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685
npm ERR! gyp verb tarball done parsing tarball
npm ERR! gyp verb on Windows; need to download `node.lib`...
npm ERR! gyp verb ia32 node.lib dir C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\ia32
npm ERR! gyp verb ia32 node.lib url https://electronjs.org/headers/v16.0.4/win-x86/node.lib
npm ERR! gyp verb x64 node.lib dir C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\x64
npm ERR! gyp verb x64 node.lib url https://electronjs.org/headers/v16.0.4/win-x64/node.lib
npm ERR! gyp verb arm64 node.lib dir C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\arm64
npm ERR! gyp verb arm64 node.lib url https://electronjs.org/headers/v16.0.4/win-arm64/node.lib
npm ERR! gyp verb check download content checksum, need to download `SHASUMS256.txt`...
npm ERR! gyp verb checksum url https://electronjs.org/headers/v16.0.4/SHASUMS256.txt
npm ERR! gyp http GET https://electronjs.org/headers/v16.0.4/SHASUMS256.txt
npm ERR! gyp verb streaming ia32 node.lib to: C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\ia32\node.lib
npm ERR! gyp http GET https://electronjs.org/headers/v16.0.4/win-x86/node.lib
npm ERR! gyp verb streaming x64 node.lib to: C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\x64\node.lib
npm ERR! gyp http GET https://electronjs.org/headers/v16.0.4/win-x64/node.lib
npm ERR! gyp verb streaming arm64 node.lib to: C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\arm64\node.lib
npm ERR! gyp http GET https://electronjs.org/headers/v16.0.4/win-arm64/node.lib
npm ERR! gyp http 200 https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist/v16.0.4/SHASUMS256.txt
npm ERR! gyp verb checksum data {"node-v16.0.4.tar.gz":"628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685","node-v16.0.4-headers.tar.gz":"628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685","iojs-v16.0.4.tar.gz":"628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685","iojs-v16.0.4-headers.tar.gz":"628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685","node.lib":"a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e","x64/node.lib":"c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380","win-x86/iojs.lib":"a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e","win-x64/iojs.lib":"c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380","win-x86/node.lib":"a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e","win-x64/node.lib":"c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380","arm64/node.lib":"f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6","win-arm64/iojs.lib":"f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6","win-arm64/node.lib":"f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6"}
npm ERR! gyp http 200 https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist/v16.0.4/win-x64/node.lib
npm ERR! gyp http 200 https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist/v16.0.4/win-x86/node.lib
npm ERR! gyp http 200 https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist/v16.0.4/win-arm64/node.lib
npm ERR! gyp verb content checksum win-x86/node.lib a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e
npm ERR! gyp verb content checksum win-arm64/node.lib f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6
npm ERR! gyp verb content checksum win-x64/node.lib c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380
npm ERR! gyp verb download contents checksum {"node-v16.0.4-headers.tar.gz":"628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685","win-x86/node.lib":"a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e","win-arm64/node.lib":"f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6","win-x64/node.lib":"c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380"}
npm ERR! gyp verb validating download checksum for node-v16.0.4-headers.tar.gz (628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685 == 628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685)
npm ERR! gyp verb validating download checksum for win-x86/node.lib (a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e == a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e)
npm ERR! gyp verb validating download checksum for win-arm64/node.lib (f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6 == f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6)
npm ERR! gyp verb validating download checksum for win-x64/node.lib (c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380 == c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380)
npm ERR! gyp verb get node dir target node version installed: 16.0.4
npm ERR! gyp verb build dir attempting to create "build" dir: C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build
npm ERR! gyp verb build dir "build" dir needed to be created? Yes
npm ERR! gyp verb find VS msvs_version not set from command line or npm config
npm ERR! gyp verb find VS VCINSTALLDIR not set, not running in VS Command Prompt
npm ERR! gyp verb find VS unknown version "undefined" found at "C:\Program Files\Microsoft Visual Studio\2022\Preview"
npm ERR! gyp verb find VS checking VS2019 (16.11.31729.503) found at:
npm ERR! gyp verb find VS "C:\Program Files (x86)\Microsoft Visual Studio\2019\PreviewChannel"
npm ERR! gyp verb find VS - "Visual Studio C++ core features" missing
npm ERR! gyp verb find VS checking VS2017 (15.9.28307.1745) found at:
npm ERR! gyp verb find VS "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise"
npm ERR! gyp verb find VS - found "Visual Studio C++ core features"
npm ERR! gyp verb find VS - found VC++ toolset: v141
npm ERR! gyp verb find VS - found Windows SDK: 10.0.17763.0
npm ERR! gyp info find VS using VS2017 (15.9.28307.1745) found at:
npm ERR! gyp info find VS "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise"
npm ERR! gyp info find VS run with --verbose for detailed information
npm ERR! gyp verb build/config.gypi creating config file
npm ERR! gyp verb build/config.gypi writing out config file: C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\config.gypi
npm ERR! gyp verb config.gypi checking for gypi file: C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\config.gypi
npm ERR! gyp verb common.gypi checking for gypi file: C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\common.gypi
npm ERR! gyp verb gyp gyp format was not specified; forcing "msvs"
npm ERR! gyp info spawn C:\Users\marayerm\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\python.exe
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   'C:\\Users\\marayerm\\AppData\\Roaming\\nvm\\v16.11.0\\node_modules\\npm\\node_modules\\node-gyp\\gyp\\gyp_main.py',
npm ERR! gyp info spawn args   'binding.gyp',
npm ERR! gyp info spawn args   '-f',
npm ERR! gyp info spawn args   'msvs',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'C:\\repos\\StorageExplorer\\src\\Standalone\\node_modules\\msint-selectcert\\build\\config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'C:\\Users\\marayerm\\AppData\\Roaming\\nvm\\v16.11.0\\node_modules\\npm\\node_modules\\node-gyp\\addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'C:\\Users\\marayerm\\AppData\\Local\\node-gyp\\Cache\\16.0.4\\include\\node\\common.gypi',
npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
npm ERR! gyp info spawn args   '-Dvisibility=default',
npm ERR! gyp info spawn args   '-Dnode_root_dir=C:\\Users\\marayerm\\AppData\\Local\\node-gyp\\Cache\\16.0.4',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=C:\\Users\\marayerm\\AppData\\Roaming\\nvm\\v16.11.0\\node_modules\\npm\\node_modules\\node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=C:\\\\Users\\\\marayerm\\\\AppData\\\\Local\\\\node-gyp\\\\Cache\\\\16.0.4\\\\<(target_arch)\\\\node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=C:\\repos\\StorageExplorer\\src\\Standalone\\node_modules\\msint-selectcert',
npm ERR! gyp info spawn args   '-Dnode_engine=v8',
npm ERR! gyp info spawn args   '--depth=.',
npm ERR! gyp info spawn args   '--no-parallel',
npm ERR! gyp info spawn args   '--generator-output',
npm ERR! gyp info spawn args   'C:\\repos\\StorageExplorer\\src\\Standalone\\node_modules\\msint-selectcert\\build',
npm ERR! gyp info spawn args   '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp verb command build []
npm ERR! gyp verb build type Release
npm ERR! gyp verb architecture x64
npm ERR! gyp verb node dev dir C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4
npm ERR! gyp verb found first Solution file build/binding.sln
npm ERR! gyp verb using MSBuild: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe
npm ERR! gyp info spawn C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   'build/binding.sln',
npm ERR! gyp info spawn args   '/nologo',
npm ERR! gyp info spawn args   '/p:Configuration=Release;Platform=x64'
npm ERR! gyp info spawn args ]
npm ERR! gyp ERR! build error
npm ERR! gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1
npm ERR! gyp ERR! stack     at ChildProcess.onExit (C:\Users\marayerm\AppData\Roaming\nvm\v16.11.0\node_modules\npm\node_modules\node-gyp\lib\build.js:194:23)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:390:28)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
npm ERR! gyp ERR! System Windows_NT 10.0.19044
npm ERR! gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\marayerm\\AppData\\Roaming\\nvm\\v16.11.0\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert
npm ERR! gyp ERR! node -v v16.11.0
npm ERR! gyp ERR! node-gyp -v v8.2.0
npm ERR! gyp ERR! not oknpm ERR! code 1
npm ERR! path C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node-gyp rebuild
npm ERR! Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
npm ERR! Build started 1/5/2022 11:17:30 AM.
npm ERR! Project "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\binding.sln" on node 1 (default targets).
npm ERR! ValidateSolutionConfiguration:
npm ERR!   Building solution configuration "Release|x64".
npm ERR! Project "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\binding.sln" (1) is building "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\selectcert.vcxproj" (2) on node 1 (default targets).
npm ERR! PrepareForBuild:
npm ERR!   Creating directory "Release\obj\selectcert\".
npm ERR!   Creating directory "Release\obj\selectcert\selectcert.tlog\".
npm ERR! InitializeBuildStatus:
npm ERR!   Creating "Release\obj\selectcert\selectcert.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
npm ERR! MakeDirsForCl:
npm ERR!   Creating directory "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\Release\obj\selectcert\src".
npm ERR! ClCompile:
npm ERR!   C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\CL.exe /c /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\include\node" /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\src" /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\deps\openssl\config" /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\deps\openssl\openssl\include" /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\deps\uv\include" /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\deps\zlib" /I"C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\deps\v8\include" /I..\..\nan /Z7 /nologo /W3 /WX- /diagnostics:classic /MP /Ox /Ob2 /Oi /Ot /Oy /GL /D NODE_GYP_MODULE_NAME=selectcert /D USING_UV_SHARED=1 /D USING_V8_SHARED=1 /D V8_DEPRECATION_WARNINGS=1 /D V8_DEPRECATION_WARNINGS /D V8_IMMINENT_DEPRECATION_WARNINGS /D _GLIBCXX_USE_CXX11_ABI=1 /D V8_COMPRESS_POINTERS /D V8_COMPRESS_POINTERS_IN_ISOLATE_CAGE /D V8_31BIT_SMIS_ON_64BIT_ARCH /D V8_REVERSE_JSARGS /D WIN32 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _HAS_EXCEPTIONS=0 /D OPENSSL_NO_PINSHARED /D OPENSSL_THREADS /D BUILDING_NODE_EXTENSION /D "HOST_BINARY=\"node.exe\"" /D _WINDLL /GF /Gm- /MT /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR- /Fo"Release\obj\selectcert\\src\selectcert.obj" /Fd"Release\obj\selectcert\vc141.pdb" /Gd /TP /wd4351 /wd4355 /wd4800 /wd4251 /wd4275 /wd4244 /wd4267 /FC /errorReport:queue ..\src\selectcert.cc
npm ERR!   selectcert.cc
npm ERR! c:\repos\storageexplorer\src\standalone\node_modules\nan\nan.h(24): fatal error C1083: Cannot open include file: 'node_version.h': No such file or directory [C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\selectcert.vcxproj]
npm ERR! Done Building Project "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\selectcert.vcxproj" (default targets) -- FAILED.
npm ERR! Done Building Project "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\binding.sln" (default targets) -- FAILED.
npm ERR!
npm ERR! Build FAILED.
npm ERR!
npm ERR! "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\binding.sln" (default target) (1) ->
npm ERR! "C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\selectcert.vcxproj" (default target) (2) ->
npm ERR! (ClCompile target) ->
npm ERR!   c:\repos\storageexplorer\src\standalone\node_modules\nan\nan.h(24): fatal error C1083: Cannot open include file: 'node_version.h': No such file or directory [C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\selectcert.vcxproj]
npm ERR!
npm ERR!     0 Warning(s)
npm ERR!     1 Error(s)
npm ERR!
npm ERR! Time Elapsed 00:00:01.11
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp verb cli [
npm ERR! gyp verb cli   'C:\\Program Files\\nodejs\\node.exe',
npm ERR! gyp verb cli   'C:\\Users\\marayerm\\AppData\\Roaming\\nvm\\v16.11.0\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js',
npm ERR! gyp verb cli   'rebuild'
npm ERR! gyp verb cli ]
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | win32 | x64
npm ERR! gyp verb command rebuild []
npm ERR! gyp verb command clean []
npm ERR! gyp verb clean removing "build" directory
npm ERR! gyp verb command configure []
npm ERR! gyp verb download using dist-url https://electronjs.org/headers
npm ERR! gyp verb find Python Python is not set from command line or npm configuration
npm ERR! gyp verb find Python Python is not set from environment variable PYTHON
npm ERR! gyp verb find Python checking if "python3" can be used
npm ERR! gyp verb find Python - executing "python3" to get executable path
npm ERR! gyp verb find Python - executable path is "C:\Users\marayerm\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\python.exe"
npm ERR! gyp verb find Python - executing "C:\Users\marayerm\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\python.exe" to get version
npm ERR! gyp verb find Python - version is "3.9.9"
npm ERR! gyp info find Python using Python version 3.9.9 found at "C:\Users\marayerm\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\python.exe"npm ERR! gyp verb get node dir compiling against --target node version: 16.0.4
npm ERR! gyp verb command install [ '16.0.4' ]
npm ERR! gyp verb download using dist-url https://electronjs.org/headers
npm ERR! gyp verb install input version string "16.0.4"
npm ERR! gyp verb install installing version: 16.0.4
npm ERR! gyp verb install --ensure was passed, so won't reinstall if already installed
npm ERR! gyp verb install version is already installed, need to check "installVersion"
npm ERR! gyp verb got "installVersion" 0
npm ERR! gyp verb needs "installVersion" 9
npm ERR! gyp verb install version is no good; reinstalling
npm ERR! gyp verb ensuring nodedir is created C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4
npm ERR! gyp http GET https://electronjs.org/headers/v16.0.4/node-v16.0.4-headers.tar.gz
npm ERR! gyp http 200 https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist/v16.0.4/node-v16.0.4-headers.tar.gz
npm ERR! gyp verb extracted file from tarball node_headers/include/node/common.gypi
npm ERR! gyp verb extracted file from tarball node_headers/include/node/config.gypi
npm ERR! gyp verb extracted file from tarball node_headers/include/node/cppgc/common.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/js_native_api.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/js_native_api_types.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/libplatform/libplatform-export.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/libplatform/libplatform.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/libplatform/v8-tracing.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/node.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/node_api.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/node_api_types.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/node_buffer.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/node_object_wrap.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/node_version.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/aix.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/android-ifaddrs.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/bsd.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/darwin.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/errno.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/linux.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/os390.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/posix.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/stdint-msvc2008.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/sunos.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/threadpool.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/tree.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/unix.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/version.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv/win.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/uv.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-array-buffer.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-callbacks.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-container.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-context.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-cppgc.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-data.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-date.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-debug.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-embedder-heap.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-exception.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-extension.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-external.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-fast-api-calls.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-forward.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-function-callback.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-function.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-initialization.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-inspector-protocol.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-inspector.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-internal.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-isolate.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-json.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-local-handle.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-locker.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-maybe.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-memory-span.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-message.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-metrics.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-microtask-queue.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-microtask.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-object.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-persistent-handle.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-platform.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-primitive-object.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-primitive.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-profiler.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-promise.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-proxy.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-regexp.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-script.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-snapshot.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-statistics.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-template.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-traced-handle.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-typed-array.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-unwinder-state.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-unwinder.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-util.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-value-serializer-version.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-value-serializer.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-value.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-version-string.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-version.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-wasm-trap-handler-posix.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-wasm-trap-handler-win.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-wasm.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8-weak-callback-info.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/v8config.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/zconf.h
npm ERR! gyp verb extracted file from tarball node_headers/include/node/zlib.h
npm ERR! gyp verb content checksum node-v16.0.4-headers.tar.gz 628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685
npm ERR! gyp verb tarball done parsing tarball
npm ERR! gyp verb on Windows; need to download `node.lib`...
npm ERR! gyp verb ia32 node.lib dir C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\ia32
npm ERR! gyp verb ia32 node.lib url https://electronjs.org/headers/v16.0.4/win-x86/node.lib
npm ERR! gyp verb x64 node.lib dir C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\x64
npm ERR! gyp verb x64 node.lib url https://electronjs.org/headers/v16.0.4/win-x64/node.lib
npm ERR! gyp verb arm64 node.lib dir C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\arm64
npm ERR! gyp verb arm64 node.lib url https://electronjs.org/headers/v16.0.4/win-arm64/node.lib
npm ERR! gyp verb check download content checksum, need to download `SHASUMS256.txt`...
npm ERR! gyp verb checksum url https://electronjs.org/headers/v16.0.4/SHASUMS256.txt
npm ERR! gyp http GET https://electronjs.org/headers/v16.0.4/SHASUMS256.txt
npm ERR! gyp verb streaming ia32 node.lib to: C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\ia32\node.lib
npm ERR! gyp http GET https://electronjs.org/headers/v16.0.4/win-x86/node.lib
npm ERR! gyp verb streaming x64 node.lib to: C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\x64\node.lib
npm ERR! gyp http GET https://electronjs.org/headers/v16.0.4/win-x64/node.lib
npm ERR! gyp verb streaming arm64 node.lib to: C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4\arm64\node.lib
npm ERR! gyp http GET https://electronjs.org/headers/v16.0.4/win-arm64/node.lib
npm ERR! gyp http 200 https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist/v16.0.4/SHASUMS256.txt
npm ERR! gyp verb checksum data {"node-v16.0.4.tar.gz":"628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685","node-v16.0.4-headers.tar.gz":"628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685","iojs-v16.0.4.tar.gz":"628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685","iojs-v16.0.4-headers.tar.gz":"628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685","node.lib":"a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e","x64/node.lib":"c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380","win-x86/iojs.lib":"a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e","win-x64/iojs.lib":"c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380","win-x86/node.lib":"a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e","win-x64/node.lib":"c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380","arm64/node.lib":"f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6","win-arm64/iojs.lib":"f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6","win-arm64/node.lib":"f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6"}
npm ERR! gyp http 200 https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist/v16.0.4/win-x64/node.lib
npm ERR! gyp http 200 https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist/v16.0.4/win-x86/node.lib
npm ERR! gyp http 200 https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist/v16.0.4/win-arm64/node.lib
npm ERR! gyp verb content checksum win-x86/node.lib a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e
npm ERR! gyp verb content checksum win-arm64/node.lib f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6
npm ERR! gyp verb content checksum win-x64/node.lib c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380
npm ERR! gyp verb download contents checksum {"node-v16.0.4-headers.tar.gz":"628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685","win-x86/node.lib":"a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e","win-arm64/node.lib":"f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6","win-x64/node.lib":"c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380"}
npm ERR! gyp verb validating download checksum for node-v16.0.4-headers.tar.gz (628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685 == 628e901a7b47e7cdaf6f88c7d0f8f7561184441680d006bdb98185d31589d685)
npm ERR! gyp verb validating download checksum for win-x86/node.lib (a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e == a3ccd6665d464e999e12a3f78f321ca9828b064275ce0913a3f5288b1c41ee0e)
npm ERR! gyp verb validating download checksum for win-arm64/node.lib (f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6 == f5e1062505ba956cc437974dd6ddbb87f720b33187ed475818d8a4e1ca7220b6)
npm ERR! gyp verb validating download checksum for win-x64/node.lib (c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380 == c72bf154965bcd634ba03f1815022c25d27d4a9cbab87b565f0cd5f1468fc380)
npm ERR! gyp verb get node dir target node version installed: 16.0.4
npm ERR! gyp verb build dir attempting to create "build" dir: C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build
npm ERR! gyp verb build dir "build" dir needed to be created? Yes
npm ERR! gyp verb find VS msvs_version not set from command line or npm config
npm ERR! gyp verb find VS VCINSTALLDIR not set, not running in VS Command Prompt
npm ERR! gyp verb find VS unknown version "undefined" found at "C:\Program Files\Microsoft Visual Studio\2022\Preview"
npm ERR! gyp verb find VS checking VS2019 (16.11.31729.503) found at:
npm ERR! gyp verb find VS "C:\Program Files (x86)\Microsoft Visual Studio\2019\PreviewChannel"
npm ERR! gyp verb find VS - "Visual Studio C++ core features" missing
npm ERR! gyp verb find VS checking VS2017 (15.9.28307.1745) found at:
npm ERR! gyp verb find VS "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise"
npm ERR! gyp verb find VS - found "Visual Studio C++ core features"
npm ERR! gyp verb find VS - found VC++ toolset: v141
npm ERR! gyp verb find VS - found Windows SDK: 10.0.17763.0
npm ERR! gyp info find VS using VS2017 (15.9.28307.1745) found at:
npm ERR! gyp info find VS "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise"
npm ERR! gyp info find VS run with --verbose for detailed information
npm ERR! gyp verb build/config.gypi creating config file
npm ERR! gyp verb build/config.gypi writing out config file: C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\build\config.gypi
npm ERR! gyp verb config.gypi checking for gypi file: C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\config.gypi
npm ERR! gyp verb common.gypi checking for gypi file: C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert\common.gypi
npm ERR! gyp verb gyp gyp format was not specified; forcing "msvs"
npm ERR! gyp info spawn C:\Users\marayerm\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\python.exe
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   'C:\\Users\\marayerm\\AppData\\Roaming\\nvm\\v16.11.0\\node_modules\\npm\\node_modules\\node-gyp\\gyp\\gyp_main.py',
npm ERR! gyp info spawn args   'binding.gyp',
npm ERR! gyp info spawn args   '-f',
npm ERR! gyp info spawn args   'msvs',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'C:\\repos\\StorageExplorer\\src\\Standalone\\node_modules\\msint-selectcert\\build\\config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'C:\\Users\\marayerm\\AppData\\Roaming\\nvm\\v16.11.0\\node_modules\\npm\\node_modules\\node-gyp\\addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'C:\\Users\\marayerm\\AppData\\Local\\node-gyp\\Cache\\16.0.4\\include\\node\\common.gypi',
npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
npm ERR! gyp info spawn args   '-Dvisibility=default',
npm ERR! gyp info spawn args   '-Dnode_root_dir=C:\\Users\\marayerm\\AppData\\Local\\node-gyp\\Cache\\16.0.4',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=C:\\Users\\marayerm\\AppData\\Roaming\\nvm\\v16.11.0\\node_modules\\npm\\node_modules\\node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=C:\\\\Users\\\\marayerm\\\\AppData\\\\Local\\\\node-gyp\\\\Cache\\\\16.0.4\\\\<(target_arch)\\\\node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=C:\\repos\\StorageExplorer\\src\\Standalone\\node_modules\\msint-selectcert',
npm ERR! gyp info spawn args   '-Dnode_engine=v8',
npm ERR! gyp info spawn args   '--depth=.',
npm ERR! gyp info spawn args   '--no-parallel',
npm ERR! gyp info spawn args   '--generator-output',
npm ERR! gyp info spawn args   'C:\\repos\\StorageExplorer\\src\\Standalone\\node_modules\\msint-selectcert\\build',
npm ERR! gyp info spawn args   '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp verb command build []
npm ERR! gyp verb build type Release
npm ERR! gyp verb architecture x64
npm ERR! gyp verb node dev dir C:\Users\marayerm\AppData\Local\node-gyp\Cache\16.0.4
npm ERR! gyp verb found first Solution file build/binding.sln
npm ERR! gyp verb using MSBuild: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe
npm ERR! gyp info spawn C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   'build/binding.sln',
npm ERR! gyp info spawn args   '/nologo',
npm ERR! gyp info spawn args   '/p:Configuration=Release;Platform=x64'
npm ERR! gyp info spawn args ]
npm ERR! gyp ERR! build error
npm ERR! gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1
npm ERR! gyp ERR! stack     at ChildProcess.onExit (C:\Users\marayerm\AppData\Roaming\nvm\v16.11.0\node_modules\npm\node_modules\node-gyp\lib\build.js:194:23)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:390:28)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
npm ERR! gyp ERR! System Windows_NT 10.0.19044
npm ERR! gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\marayerm\\AppData\\Roaming\\nvm\\v16.11.0\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd C:\repos\StorageExplorer\src\Standalone\node_modules\msint-selectcert
npm ERR! gyp ERR! node -v v16.11.0
npm ERR! gyp ERR! node-gyp -v v8.2.0
npm ERR! gyp ERR! not ok

It seems like node-gyp is not properly extracting the header files. Sometimes it works, sometimes it doesn't. Here's an example of what my cache include folder looks like when it does not work: image You can see there's a bunch of files with a DELETE.some-thing suffix, including two for the file that node-gyp ultimately failed because of.

When it does work, there are still a few DELETE.some-thing files, but only a few, none with two of them, and none that don't have a normal copy of the file. image

MRayermannMSFT avatar Jan 05 '22 19:01 MRayermannMSFT

I can confirm that manually finishing the extraction process by removing the suffixes fixes things.

MRayermannMSFT avatar Jan 05 '22 22:01 MRayermannMSFT

For now I am working around the issue by manually fixing the cache (copying files with .DELETE. to their correct name) if npm install fails. Very tedious but seems to work well.

MRayermannMSFT avatar Jan 06 '22 00:01 MRayermannMSFT

I'm experiencing the same issue. Many build attempts fail because of missing node header files. I see those files with "DELETE..." appended.

This is on a GitHub Action runner using "windows-latest".


npm ERR! C:\Users\runneradmin\AppData\Local\node-gyp\Cache\16.12.0\include\node\node.h(63,10): fatal error C1083: Cannot open include file: 'v8.h': No such file or directory [D:\a\datapm-registry\datapm-registry\client\node_modules\mmmagic\build\magic.vcxproj]
67
npm ERR! gyp info it worked if it ends with ok
68
npm ERR! gyp info using [email protected]
69
npm ERR! gyp info using [email protected] | win32 | x64
70
npm ERR! gyp info find Python using Python version 3.7.9 found at "C:\hostedtoolcache\windows\Python\3.7.9\x64\python3.exe"

traviscollins avatar Feb 03 '22 10:02 traviscollins

I was able to reproduce this locally with a small project. The package mmmagic uses node-gyp during install.

Windows 11 (latest) Node 16.13.2

npm init
npm install mmmagic

This results in a corrupted node-gyp\Cache\16.13.2\include\node directory (bunch of DELETE labeled files).

I tested several times by deleting the node_modules and node-gyp\Cache folder and re-running the npm install mmmagic command. It fails about 50% of the time.

This does not appear to happen in MacOS. And it did not happen for many months when we were using Node 14.

traviscollins avatar Feb 03 '22 14:02 traviscollins

I've found that doing the following seems more reliable (will report back if it fails in the future)

npm init
npx node-gyp install 16.13.2
npm install mmmagic

traviscollins avatar Feb 03 '22 15:02 traviscollins

I'm experiencing the same issue. I think the problem is likely that we are attempting to node-gyp configure multiple projects in parallel.

SlyryD avatar Mar 09 '22 19:03 SlyryD

Reporting back, I've experienced no issues after using my work around above.

Using nix node-gyp install <node-version> before installing dependencies seems to pre-warm the cache, and therefore it doesn't fail during the normal npm ci process.

traviscollins avatar Mar 11 '22 03:03 traviscollins

Still repro's as of node-gyp 9.0.0

MRayermannMSFT avatar Oct 17 '22 23:10 MRayermannMSFT

Please create a GitHub Action that reproduces this behavior.

cclauss avatar Oct 18 '22 02:10 cclauss

https://github.com/nodejs/node-gyp/issues/2751

michalzaq12 avatar Oct 19 '22 17:10 michalzaq12

@cclauss how about this?

https://github.com/MRayermannMSFT/node-gyp/actions/runs/3475120714/jobs/5809002444 - 16.x,3.6, windows-latest

Things to note:

  • The npm install failure in the "Install Dependencies" step
  • The npm install error of npm ERR! gyp: C:\Users\runneradmin\AppData\Local\node-gyp\Cache\21.2.0\common.gypi not found (cwd: D:\a\node-gyp\node-gyp\node_modules\keytar-eighteen) while reading includes of binding.gyp while trying to load binding.gyp
  • In the "Display node-gyp cache" step there is a common.gypi.DELETE.15585937a60f5b24f16def524858e780 but no common.gypi

MRayermannMSFT avatar Nov 15 '22 23:11 MRayermannMSFT

I decided to go down the route of seeing if this was a bug in tar, as suggested here. To see if this was the case I created a script to test extracting the header tarball over and over using tar. The script just kicks off a bunch of tar.extract calls in parallel on copies of the tarball. I was unable to reproduce.

I then modified the script to download & extract the tarball in the same way that node-gyp does, over and over, still in parallel, and to different locations. I was unable to reproduce.

I then modified the script again to do many download & extracts in parallel, but this time all to the same location. My script now reproduces the issue.

You can find the script here: https://gist.github.com/MRayermannMSFT/b008c565eff8eaa4d180408002cf61e5

To change whether or not the download & extracts target the same location change folderPerIteration to be true.

So I guess node-gyp is probably doing parallel downloads of the headers tarball when it shouldn't be. Or at least that would be my hypothesis based off what I am seeing.

MRayermannMSFT avatar Nov 16 '22 01:11 MRayermannMSFT

Spent some time trying to dig into silly logs to verify my thinking but I think that npm logging is making that difficult.

I can see what looks like multiple native module re-builds happening in parallel:

2685 info run [email protected] install node_modules/macos-keychain node-gyp rebuild
2686 info run [email protected] install node_modules/system-format node-gyp rebuild
2687 info run [email protected] install node_modules/keytar prebuild-install || npm run build
2688 info run [email protected] install { code: 0, signal: null }
2689 timing build:run:install:node_modules/keytar Completed in 1249ms
2690 info run [email protected] install { code: 1, signal: null }
2691 info run [email protected] install { code: 1, signal: null }

But then below all that I only have the npm error logs for one of the failed installs, even though it says both finished with an exit code of 1. I gues npm is just choosing to show one of the failure logs?

MRayermannMSFT avatar Dec 05 '22 18:12 MRayermannMSFT

FYI. npm downloads and builds all dependencies in parallel. By default, node-gyp fetches node headers every time the command is called, which with the tar library bug causes all the confusion.

michalzaq12 avatar Dec 14 '22 08:12 michalzaq12

I went somewhat deep on this issue and came out the other side with a PR to fix it, so sharing my findings along the way here.

The others in these comments correctly identified the repro case, which is parallel builds of dependencies all attempting to populate devDir at the same time. As such, the issue won't reproduce with a single native dependency, and is more likely to reproduce with more dependencies, as @MRayermannMSFT found. This behavior is present in both npm and yarn, so node-gyp needs to be able to gracefully handle this situation.

I'm a little surprised that multiple parallel builds extracting the tarball into devDir works as robustly as it does, it looks like in practice it only runs into issues on Windows occasionally. However, the current implementation of node-gyp does not correctly handle errors coming from node-tar when extracting the files, so there could always be more subtle bugs hiding somewhere as well which are silently failing. Due to this incorrect handling of errors, node-gyp doesn't realize the extraction to devDir is corrupted, so when a user hits this bug, their cache remains in a corrupted state until they clear it, unfortunately.

I looked into the errors originating from node-tar, which explains why it needs to always unlink files on Windows while extracting. While this behavior could be made a bit more robust by picking up the tricks from rimraf (busy retry and EPERM workarounds), I'm not confident that improvements at the node-tar level would robustly fix the issue in node-gyp, as it just seems that these file operations are too fluky on Windows (hence all the workarounds) to have multiple parallel extractions of the tarball onto the same file path. The race conditions might be reduced by improvements in node-tar, but I'm not sure they'd be fully eliminated. In addition, since the tarballs are being downloaded in parallel they may begin execution offset, and the node-tar behavior of unlinking any existing file before writing could mean that the file is temporarily missing while a parallel build proceeds. I briefly tried patching node-tar to not do the unlink on Windows (and so act like other platforms), but that ran into different errors and I didn't go further at that layer. I don't believe node-tar is the appropriate place to fix this.

I've got a PR (will open later, GitHub is having incidents around GitHub Actions at the moment) which fixes the incorrect handling of errors so that an error won't leave the cache in a corrupted state, and fixes this issue by extracting the tarball to a temp directory and then copying the files over to the final destination. In practice this is more robust since it doesn't involve unlinking the target file path, and multiple parallel installs can copy to the same file without causing any major problems - just the occasional EBUSY which I've resolved with an exponential backoff to resolve the collisions.

dsanders11 avatar May 10 '23 13:05 dsanders11

Tip jar for @dsanders11?!

traviscollins avatar May 10 '23 13:05 traviscollins

GitHub actions back to working well enough to get the PR up, #2846.

Tip jar for @dsanders11?!

I appreciate the sentiment. 🙂 Just happy to fix such a persistent bug.

dsanders11 avatar May 11 '23 20:05 dsanders11