Ошибка «@serialport ... не является приложением Win32» при использовании electronic-builder

У меня есть приложение, которое должно считывать последовательный вход с внешних весов, и для этого я создал приложение Electron. Изображение ошибки Windows 10 при запуске сборки приложения в Linux, так как Windows не может ее собрать

Я пытался найти решение, но не смог найти подходящее для моих нужд, или оно не работает...

Я работаю в Linux, но приложение предназначено для ОС Windows, и интересно то, что я могу собрать приложение через Linux, но не могу в Windows.

Ошибка, с которой я сталкиваюсь при попытке сборки в ОС Windows:

При сборке в Linux (успешная сборка, но приложение не запускается):

Кроме того, вот фрагмент моего codeа, который использует последовательный порт: https://pastebin.com/raw/RJdJGwNu

C:\Users\Win\Desktop\1.2.5>npm run build
> [email protected] build
> electron-builder --win
• electron-builder  version=24.13.3 os=10.0.19045
• loaded configuration  file=package.json ("build" field)
• @electron/rebuild not required if you use electron-builder, please consider to remove excess dependency from devDependencies
To ensure your native dependencies are always matched electron version, simply add script `"postinstall": "electron-builder install-app-deps" to your `package.json`
• writing effective config  file=dist\builder-effective-config.yaml
• rebuilding native dependencies  dependencies=@serialport/[email protected] platform=win32 arch=x64
⨯ cannot execute  cause=exit status 1
errorOut=npm error code 1
npm error path C:\Users\Win\Desktop\1.2.5\node_modules\@serialport\bindings-cpp
npm error command failed
npm error command C:\Windows\system32\cmd.exe /d /s /c node-gyp-build
npm error node:internal/child_process:421
npm error     throw new ErrnoException(err, 'spawn');
npm error     ^
npm error
npm error Error: spawn EINVAL
npm error     at ChildProcess.spawn (node:internal/child_process:421:11)
npm error     at Object.spawn (node:child_process:761:9)
npm error     at build (C:\Users\Win\Desktop\1.2.5\node_modules\@serialport\bindings-cpp\node_modules\node-gyp-build\bin.js:29:8)
npm error     at preinstall (C:\Users\Win\Desktop\1.2.5\node_modules\@serialport\bindings-cpp\node_modules\node-gyp-build\bin.js:38:32)
npm error     at Object.<anonymous> (C:\Users\Win\Desktop\1.2.5\node_modules\@serialport\bindings-cpp\node_modules\node-gyp-build\bin.js:15:3)
npm error     at Module._compile (node:internal/modules/cjs/loader:1546:14)
npm error     at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)
npm error     at Module.load (node:internal/modules/cjs/loader:1317:32)
npm error     at Module._load (node:internal/modules/cjs/loader:1127:12)
npm error     at TracingChannel.traceSync (node:diagnostics_channel:315:14) {
npm error   errno: -4071,
npm error   code: 'EINVAL',
npm error   syscall: 'spawn'
npm error }
npm error
npm error Node.js v22.6.0
npm error A complete log of this run can be found in: C:\Users\Win\AppData\Local\npm-cache\_logs\2024-08-19T20_47_08_788Z-debug-0.log

                command='C:\Program Files\nodejs\node.exe' 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js' rebuild @serialport/[email protected]
                workingDir=
C:\Users\Win\Desktop\1.2.5>
linux-mysistem:~/Desktop/Market App$ npm run build
> [email protected] build
> electron-builder --win
• electron-builder  version=24.13.3 os=6.8.0-40-generic
• loaded configuration  file=package.json ("build" field)
• @electron/rebuild not required if you use electron-builder, please consider to remove excess dependency from devDependencies
To ensure your native dependencies are always matched electron version, simply add script `"postinstall": "electron-builder install-app-deps" to your `package.json`
• writing effective config  file=dist/builder-effective-config.yaml
• skipped dependencies rebuild  reason=platform is different and buildDependenciesFromSource is set to true
• packaging       platform=win32 arch=x64 electron=31.4.0 appOutDir=dist/win-unpacked
• building        target=nsis file=dist/Market App Setup 1.2.5.exe archs=x64 oneClick=false perMachine=false
• building block map  blockMapFile=dist/Market App Setup 1.2.5.exe.blockmap
Гурий
Вопрос задан19 апреля 2024 г.

1 Ответ

2
Боян
Ответ получен17 сентября 2024 г.

Ваш ответ

Загрузить файл.