nodejs / node-gyp

Node.js native addon build tool
MIT License
9.95k stars 1.8k forks source link

Couldn't be built successfully #3031

Open zN3utr4l opened 6 months ago

zN3utr4l commented 6 months ago
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 for details, where 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 node-pre-gyp@1.0.11 ➤ YN0000: │ canvas@npm:2.11.2 STDERR node-pre-gyp info using node@18.20.2 | 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. (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 node-gyp@8.4.1 ➤ YN0000: │ sqlite3@npm:5.1.7 [ce7f3] STDERR gyp info using node@18.20.2 | 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. (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 commented 6 months ago

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 node-gyp@10.1.0
gyp info using node@18.20.2 | 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 
mokagio commented 5 months ago

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.

cclauss commented 5 months ago

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