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

Couldn't be built successfully

Open zN3utr4l opened this issue 9 months ago • 3 comments

  • Node Version: 18.20.2

  • Platform:

    • OS Name: Microsoft Windows 11 Pro
    • OS Version: 10.0.22631 N/A Build 22631
    • System Type: x64-based PC
  • Compiler: Microsoft (R) Build Engine version 16.11.2+f32259642 for .NET Framework

  • Module: sqlite3

I'm trying to install sqlite and canvas on a windows machine but with linux dependencies with this command: `$Env:npm_config_arch="arm" ; $Env:npm_config_platform="linux" ; yarn install --inline-builds`

But I get this error:

➤ YN0000: · Yarn 4.2.2
➤ YN0000: ┌ Resolution step
➤ YN0000: └ Completed in 0s 235ms
➤ YN0000: ┌ Post-resolution validation
➤ YN0002: │ test@workspace:. doesn't provide eslint (p5f692), requested by eslint-config-prettier.
➤ YN0086: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code.
➤ YN0000: └ Completed
➤ YN0000: ┌ Fetch step
➤ YN0000: └ Completed in 0s 510ms
➤ YN0000: ┌ Link step
➤ YN0007: │ canvas@npm:2.11.2 must be built because it never has been before or the last one failed
➤ YN0007: │ sqlite3@npm:5.1.7 [ce7f3] must be built because it never has been before or the last one failed
➤ YN0007: │ @serialport/bindings-cpp@npm:12.0.1 must be built because it never has been before or the last one failed
➤ YN0007: │ es5-ext@npm:0.10.62 must be built because it never has been before or the last one failed
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info it worked if it ends with ok
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info using [email protected]
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info using [email protected] | win32 | x64
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR node:internal/child_process:414
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR     throw errnoException(err, 'spawn');
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR     ^
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR Error: spawn EINVAL
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR     at ChildProcess.spawn (node:internal/child_process:414:11)
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR     at Object.spawn (node:child_process:761:9)
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR     at build (G:\TestProj\test\server\node_modules\node-gyp-build\bin.js:29:8)
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR     at preinstall (G:\TestProj\test\server\node_modules\node-gyp-build\bin.js:38:32)
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR     at G:\TestProj\test\server\node_modules\node-gyp-build\bin.js:11:7
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR     at ChildProcess.exithandler (node:child_process:430:5)
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR     at ChildProcess.emit (node:events:517:28)
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR     at maybeClose (node:internal/child_process:1098:16)
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR     at Socket.<anonymous> (node:internal/child_process:450:11)
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR     at Socket.emit (node:events:517:28) {
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR   errno: -4071,
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR   code: 'EINVAL',
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR   syscall: 'spawn'
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR }
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR
➤ YN0000: │ @serialport/bindings-cpp@npm:12.0.1 STDERR Node.js v18.20.2
➤ YN0009: │ @serialport/bindings-cpp@npm:12.0.1 couldn't be built successfully (exit code 1, logs can be found here: C:\Users\GF810~1.CHI\AppData\Local\Temp\xfs-cccaaa7a\build.log)
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp http GET https://github.com/Automattic/node-canvas/releases/download/v2.11.2/canvas-v2.11.2-node-v108-win32-unknown-x64.tar.gz
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR prebuild-install warn install No prebuilt binaries found (target=6 runtime=napi arch=arm libc= platform=linux)
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info it worked if it ends with ok
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info using [email protected]
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info using [email protected] | win32 | x64
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/canvas.exp
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/canvas.iobj
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info find Python using Python version 3.12.3 found at "C:\Python312\python.exe"
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/canvas.ipdb
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/canvas.lib
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/canvas.node
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/canvas.pdb
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libbrotlicommon.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libbrotlidec.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libbz2-1.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libcairo-2.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libcairo-gobject-2.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libdatrie-1.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libexpat-1.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libffi-8.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libfontconfig-1.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libfreetype-6.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libfribidi-0.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libgcc_s_seh-1.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libgdk_pixbuf-2.0-0.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libgif-7.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libgio-2.0-0.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libglib-2.0-0.dll
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp http GET https://nodejs.org/download/release/v18.20.2/node-v18.20.2-headers.tar.gz
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libgmodule-2.0-0.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libgobject-2.0-0.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libgraphite2.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libharfbuzz-0.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libiconv-2.dll
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp http 200 https://nodejs.org/download/release/v18.20.2/node-v18.20.2-headers.tar.gz
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libintl-8.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libjpeg-8.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/liblzma-5.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libpango-1.0-0.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libpangocairo-1.0-0.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libpangoft2-1.0-0.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libpangowin32-1.0-0.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libpcre2-8-0.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libpixman-1-0.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libpng16-16.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/librsvg-2-2.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libstdc++-6.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libthai-0.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libwinpthread-1.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/libxml2-2.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/canvas.node.recipe
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/canvas.tlog/
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/canvas.tlog/canvas.lastbuildstate
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/canvas.tlog/canvas.write.1u.tlog
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/canvas.tlog/CL.command.1.tlog
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/canvas.tlog/CL.read.1.tlog
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/canvas.tlog/CL.write.1.tlog
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/canvas.tlog/link.command.1.tlog
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/canvas.tlog/link.read.1.tlog
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/canvas.tlog/link.write.1.tlog
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/src/
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/src/backend/
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/src/backend/Backend.obj
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/src/backend/ImageBackend.obj
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/src/backend/PdfBackend.obj
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/src/backend/SvgBackend.obj
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/src/Backends.obj
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/src/bmp/
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/src/bmp/BMPParser.obj
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/src/Canvas.obj
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/src/CanvasGradient.obj
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/src/CanvasPattern.obj
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/src/CanvasRenderingContext2d.obj
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/src/closure.obj
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/src/color.obj
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/src/Image.obj
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/src/ImageData.obj
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/src/init.obj
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/src/register_font.obj
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/obj/canvas/win_delay_load_hook.obj
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info install unpacking Release/zlib1.dll
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info extracted file count: 76 
➤ YN0000: │ canvas@npm:2.11.2 STDOUT [canvas] Success: "G:\TestProj\test\server\node_modules\canvas\build\Release\canvas.node" is installed via remote
➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info ok
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp http GET https://nodejs.org/download/release/v18.20.2/SHASUMS256.txt
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp http GET https://nodejs.org/download/release/v18.20.2/win-x64/node.lib
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp http GET https://nodejs.org/download/release/v18.20.2/win-x86/node.lib
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp http GET https://nodejs.org/download/release/v18.20.2/win-arm64/node.lib
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp http 200 https://nodejs.org/download/release/v18.20.2/SHASUMS256.txt
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp http 200 https://nodejs.org/download/release/v18.20.2/win-x64/node.lib
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp http 200 https://nodejs.org/download/release/v18.20.2/win-x86/node.lib
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp http 404 https://nodejs.org/download/release/v18.20.2/win-arm64/node.lib
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info find VS using VS2019 (16.11.34729.46) found at:
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info find VS "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools"
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info find VS run with --verbose for detailed information
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn C:\Python312\python.exe
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args [
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   'G:\\TestProj\\test\\server\\node_modules\\sqlite3\\node_modules\\node-gyp\\gyp\\gyp_main.py',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   'binding.gyp',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   '-f',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   'msvs',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   '-I',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   'G:\\TestProj\\test\\server\\node_modules\\sqlite3\\build\\config.gypi',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   '-I',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   'G:\\TestProj\\test\\server\\node_modules\\sqlite3\\node_modules\\node-gyp\\addon.gypi',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   '-I',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   'C:\\Users\\my.user\\AppData\\Local\\node-gyp\\Cache\\18.20.2\\include\\node\\common.gypi',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   '-Dlibrary=shared_library',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   '-Dvisibility=default',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   '-Dnode_root_dir=C:\\Users\\my.user\\AppData\\Local\\node-gyp\\Cache\\18.20.2',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   '-Dnode_gyp_dir=G:\\TestProj\\test\\server\\node_modules\\sqlite3\\node_modules\\node-gyp',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   '-Dnode_lib_file=C:\\\\Users\\\\my.user\\\\AppData\\\\Local\\\\node-gyp\\\\Cache\\\\18.20.2\\\\<(target_arch)\\\\node.lib',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   '-Dmodule_root_dir=G:\\TestProj\\test\\server\\node_modules\\sqlite3',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   '-Dnode_engine=v8',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   '--depth=.',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   '--no-parallel',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   '-Goutput_dir=.'
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args ]
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args [
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   'build/binding.sln',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   '/clp:Verbosity=minimal',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   '/nologo',
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args   '/p:Configuration=Release;Platform=ARM'
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info spawn args ]
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDOUT Building the projects in this solution one at a time. To enable parallel build, please add the "-m" switch.
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDOUT G:\TestProj\test\server\node_modules\sqlite3\build\binding.sln.metaproj : error MSB4126: The specified solution configuration "Release|ARM" is invalid. Please specify a valid solution configuration using the Configuration and Platform properties (e.g. MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform="Any CPU") or leave those properties blank to use the default solution configuration. [G:\TestProj\test\server\node_modules\sqlite3\build\binding.sln]
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp ERR! build error
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe` failed with exit code: 1
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp ERR! stack     at ChildProcess.onExit (G:\TestProj\test\server\node_modules\sqlite3\node_modules\node-gyp\lib\build.js:194:23)
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp ERR! stack     at ChildProcess.emit (node:events:517:28)
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:292:12)
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp ERR! System Windows_NT 10.0.22631
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp ERR! command "D:\\Program Files\\nodejs\\node.exe" "G:\\TestProj\\test\\server\\node_modules\\sqlite3\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp ERR! cwd G:\TestProj\test\server\node_modules\sqlite3
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp ERR! node -v v18.20.2
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp ERR! node-gyp -v v8.4.1
➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp ERR! not ok
➤ YN0009: │ sqlite3@npm:5.1.7 [ce7f3] couldn't be built successfully (exit code 1, logs can be found here: C:\Users\GF810~1.CHI\AppData\Local\Temp\xfs-df9e2b22\build.log)
➤ YN0000: └ Completed in 19s 133ms
➤ YN0000: · Failed with errors in 20s 4ms

this is the error related to node-gyp-build:

node:internal/child_process:414
    throw errnoException(err, 'spawn');
    ^

Error: spawn EINVAL
    at ChildProcess.spawn (node:internal/child_process:414:11)
    at Object.spawn (node:child_process:761:9)
    at build (G:\Roboqbo\qbo-5\server\node_modules\node-gyp-build\bin.js:29:8)
    at preinstall (G:\Roboqbo\qbo-5\server\node_modules\node-gyp-build\bin.js:38:32)
    at G:\Roboqbo\qbo-5\server\node_modules\node-gyp-build\bin.js:11:7
    at ChildProcess.exithandler (node:child_process:430:5)
    at ChildProcess.emit (node:events:517:28)
    at maybeClose (node:internal/child_process:1098:16)
    at Socket.<anonymous> (node:internal/child_process:450:11)
    at Socket.emit (node:events:517:28) {
  errno: -4071,
  code: 'EINVAL',
  syscall: 'spawn'
}

Node.js v18.20.2

zN3utr4l avatar May 09 '24 07:05 zN3utr4l

Node-gyp versions were locked by dependency with @serialport/bindings-cpp@npm:12.0.1, manually updating to the latest version the error changes and becomes:

prebuild-install warn install No prebuilt binaries found (target=6 runtime=napi arch=arm libc= platform=linux)
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | win32 | x64
gyp info find Python using Python version 3.12.3 found at "C:\Python312\python.exe"

gyp http GET https://nodejs.org/download/release/v18.20.2/node-v18.20.2-headers.tar.gz
gyp http 200 https://nodejs.org/download/release/v18.20.2/node-v18.20.2-headers.tar.gz
gyp http GET https://nodejs.org/download/release/v18.20.2/SHASUMS256.txt
gyp http 200 https://nodejs.org/download/release/v18.20.2/SHASUMS256.txt
gyp WARN install got an error, rolling back install
gyp ERR! configure error 
gyp ERR! stack TypeError: Cannot destructure property 'libUrl' of 'release[arch]' as it is undefined.
gyp ERR! stack at downloadNodeLib (G:\TestProj\\test\server\node_modules\node-gyp\lib\install.js:322:15)
gyp ERR! stack at go (G:\TestProj\\test\server\node_modules\node-gyp\lib\install.js:263:20)
gyp ERR! stack at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
gyp ERR! stack at async install (G:\TestProj\\test\server\node_modules\node-gyp\lib\install.js:63:18)
gyp ERR! stack at async getNodeDir (G:\TestProj\\test\server\node_modules\node-gyp\lib\configure.js:79:7)
gyp ERR! stack at async run (G:\TestProj\\test\server\node_modules\node-gyp\bin\node-gyp.js:81:18)
gyp ERR! System Windows_NT 10.0.22631
gyp ERR! command "D:\\Program Files\\nodejs\\node.exe" "G:\\Roboqbo\\qbo-5\\server\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd G:\TestProj\\test\server\node_modules\sqlite3
gyp ERR! node -v v18.20.2
gyp ERR! node-gyp -v v10.1.0
gyp ERR! not ok 

zN3utr4l avatar May 09 '24 07:05 zN3utr4l

Looks like the update might have solve the EINVAL error, but just in case, I had success with the { shell: true } approach suggested in https://nodejs.org/en/blog/vulnerability/april-2024-security-releases-2#command-injection-via-args-parameter-of-child_processspawn-without-shell-option-enabled-on-windows-c

However, I was in control of the spawn call, whereas when interacting with this library, one is not because the call is in the library.

mokagio avatar Jun 18 '24 10:06 mokagio

https://github.com/nodejs/node-gyp/tree/main/docs#node-pre-gyp-is-no-longer-maintained

cclauss avatar Jun 18 '24 12:06 cclauss