electron-builder icon indicating copy to clipboard operation
electron-builder copied to clipboard

error in rebuilding native dependency on win10

Open kerwinxu opened this issue 1 year ago • 31 comments

kindly the below error

rebuilding native dependencies  dependencies=@serialport/[email protected] platform=win32 arch=x64
  • rebuilding native dependency  name=@serialport/bindings-cpp version=12.0.1
  ⨯ cannot execute  cause=fork/exec C:\Users\kerwin\.yarn\releases\yarn-1.22.19.cjs: %1 is not a valid Win32 application.
                    command='C:\Users\kerwin\.yarn\releases\yarn-1.22.19.cjs' run install
                    workingDir=C:\Users\kerwin\Desktop\com_helper\node_modules\@serialport\bindings-cpp
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

but i can Manually build.

node-gyp configure
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.11.5 found at "C:\Users\kerwin\AppData\Local\Programs\Python\Python311\python.exe"

gyp info find VS using VS2022 (17.5.33424.131) found at:
gyp info find VS "d:\Program Files\Microsoft Visual Studio\2022\Community"
gyp info find VS run with --verbose for detailed information
gyp info spawn C:\Users\kerwin\AppData\Local\Programs\Python\Python311\python.exe
gyp info spawn args [
gyp info spawn args 'C:\\Users\\kerwin\\AppData\\Local\\Yarn\\Data\\global\\node_modules\\node-gyp\\gyp\\gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'msvs',
gyp info spawn args '-I',
gyp info spawn args 'C:\\Users\\kerwin\\Desktop\\com_helper\\node_modules\\@serialport\\bindings-cpp\\build\\config.gypi',
gyp info spawn args '-I',
gyp info spawn args 'C:\\Users\\kerwin\\AppData\\Local\\Yarn\\Data\\global\\node_modules\\node-gyp\\addon.gypi',
gyp info spawn args '-I',
gyp info spawn args 'C:\\Users\\kerwin\\AppData\\Local\\node-gyp\\Cache\\20.16.0\\include\\node\\common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=C:\\Users\\kerwin\\AppData\\Local\\node-gyp\\Cache\\20.16.0',
gyp info spawn args '-Dnode_gyp_dir=C:\\Users\\kerwin\\AppData\\Local\\Yarn\\Data\\global\\node_modules\\node-gyp',
gyp info spawn args '-Dnode_lib_file=C:\\\\Users\\\\kerwin\\\\AppData\\\\Local\\\\node-gyp\\\\Cache\\\\20.16.0\\\\<(target_arch)\\\\node.lib',
gyp info spawn args '-Dmodule_root_dir=C:\\Users\\kerwin\\Desktop\\com_helper\\node_modules\\@serialport\\bindings-cpp',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'C:\\Users\\kerwin\\Desktop\\com_helper\\node_modules\\@serialport\\bindings-cpp\\build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
gyp info ok
C:\Users\kerwin\Desktop\com_helper\node_modules\@serialport\bindings-cpp>node-gyp rebuild
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.11.5 found at "C:\Users\kerwin\AppData\Local\Programs\Python\Python311\python.exe"

gyp info find VS using VS2022 (17.5.33424.131) found at:
gyp info find VS "d:\Program Files\Microsoft Visual Studio\2022\Community"
gyp info find VS run with --verbose for detailed information
gyp info spawn C:\Users\kerwin\AppData\Local\Programs\Python\Python311\python.exe
gyp info spawn args [
gyp info spawn args 'C:\\Users\\kerwin\\AppData\\Local\\Yarn\\Data\\global\\node_modules\\node-gyp\\gyp\\gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'msvs',
gyp info spawn args '-I',
gyp info spawn args 'C:\\Users\\kerwin\\Desktop\\com_helper\\node_modules\\@serialport\\bindings-cpp\\build\\config.gypi',
gyp info spawn args '-I',
gyp info spawn args 'C:\\Users\\kerwin\\AppData\\Local\\Yarn\\Data\\global\\node_modules\\node-gyp\\addon.gypi',
gyp info spawn args '-I',
gyp info spawn args 'C:\\Users\\kerwin\\AppData\\Local\\node-gyp\\Cache\\20.16.0\\include\\node\\common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=C:\\Users\\kerwin\\AppData\\Local\\node-gyp\\Cache\\20.16.0',
gyp info spawn args '-Dnode_gyp_dir=C:\\Users\\kerwin\\AppData\\Local\\Yarn\\Data\\global\\node_modules\\node-gyp',
gyp info spawn args '-Dnode_lib_file=C:\\\\Users\\\\kerwin\\\\AppData\\\\Local\\\\node-gyp\\\\Cache\\\\20.16.0\\\\<(target_arch)\\\\node.lib',
gyp info spawn args '-Dmodule_root_dir=C:\\Users\\kerwin\\Desktop\\com_helper\\node_modules\\@serialport\\bindings-cpp',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'C:\\Users\\kerwin\\Desktop\\com_helper\\node_modules\\@serialport\\bindings-cpp\\build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn d:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe
gyp info spawn args [
gyp info spawn args 'build\\binding.sln',
gyp info spawn args '/clp:Verbosity=minimal',
gyp info spawn args '/nologo',
gyp info spawn args '/p:Configuration=Release;Platform=x64'
gyp info spawn args ]
在此解决方案中一次生成一个项目。若要启用并行生成,请添加“-m”开关。

  serialport.cpp
  serialport_win.cpp
  win_delay_load_hook.cc
    正在创建库 C:\Users\kerwin\Desktop\com_helper\node_modules\@serialport\bindings-cpp\build\Release\bindings.lib 和对 象 C:\Us
  ers\kerwin\Desktop\com_helper\node_modules\@serialport\bindings-cpp\build\Release\bindings.exp
  bindings.vcxproj -> C:\Users\kerwin\Desktop\com_helper\node_modules\@serialport\bindings-cpp\build\Release\\bindings.
  node
gyp info ok

kerwinxu avatar Aug 20 '24 13:08 kerwinxu

@kerwinxu this looks like 24.13.13 logs for electron-builder I think. If so, can you try next tag v25.0.5? We upgraded to use upstream/official electron/rebuild package for handling native modules.

mmaietta avatar Aug 28 '24 23:08 mmaietta

We faced the same issue and your suggestion actually worked, @mmaietta thanks!

Unfortunately, using the v25.0.5 fixes the build on Windows but now is broken on Mac. 😢

Here is the output on Mac OS Sonoma 14.6.1 :

dist-electron/preload/index.mjs  1.91 kB │ gzip: 0.88 kB
✓ built in 8ms
  • electron-builder  version=25.0.5 os=23.6.0
  • loaded configuration  file=package.json ("build" field)
  • writing effective config  file=out/builder-effective-config.yaml
  ⨯ open /FULL_PATH_REDACTED/node_modules/create-hash/md5.js/package.json: not a directory
github.com/develar/app-builder/pkg/node-modules.(*Collector).resolveDependency
        /Users/runner/work/app-builder/app-builder/pkg/node-modules/nodeModuleCollector.go:236
github.com/develar/app-builder/pkg/node-modules.(*Collector).processDependencies
        /Users/runner/work/app-builder/app-builder/pkg/node-modules/nodeModuleCollector.go:122
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
        /Users/runner/work/app-builder/app-builder/pkg/node-modules/nodeModuleCollector.go:64
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
        /Users/runner/work/app-builder/app-builder/pkg/node-modules/nodeModuleCollector.go:80
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
        /Users/runner/work/app-builder/app-builder/pkg/node-modules/nodeModuleCollector.go:80
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
        /Users/runner/work/app-builder/app-builder/pkg/node-modules/nodeModuleCollector.go:80
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
        /Users/runner/work/app-builder/app-builder/pkg/node-modules/nodeModuleCollector.go:80
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
        /Users/runner/work/app-builder/app-builder/pkg/node-modules/nodeModuleCollector.go:80
github.com/develar/app-builder/pkg/node-modules.ConfigureCommand.func1
        /Users/runner/work/app-builder/app-builder/pkg/node-modules/tree.go:41
github.com/alecthomas/kingpin.(*actionMixin).applyActions
        /Users/runner/go/pkg/mod/github.com/alecthomas/[email protected]+incompatible/actions.go:28
github.com/alecthomas/kingpin.(*Application).applyActions
        /Users/runner/go/pkg/mod/github.com/alecthomas/[email protected]+incompatible/app.go:557
github.com/alecthomas/kingpin.(*Application).execute
        /Users/runner/go/pkg/mod/github.com/alecthomas/[email protected]+incompatible/app.go:390
github.com/alecthomas/kingpin.(*Application).Parse
        /Users/runner/go/pkg/mod/github.com/alecthomas/[email protected]+incompatible/app.go:222
main.main
        /Users/runner/work/app-builder/app-builder/main.go:90
runtime.main
        /Users/runner/hostedtoolcache/go/1.21.12/arm64/src/runtime/proc.go:267
runtime.goexit
        /Users/runner/hostedtoolcache/go/1.21.12/arm64/src/runtime/asm_arm64.s:1197  
  ⨯ /FULL_PATH_REDACTED/node_modules/app-builder-bin/mac/app-builder_arm64 process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
Exit code:
1  failedTask=build stackTrace=Error: /FULL_PATH_REDACTED/node_modules/app-builder-bin/mac/app-builder_arm64 process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
Exit code:
1
    at ChildProcess.<anonymous> (/FULL_PATH_REDACTED/node_modules/builder-util/src/util.ts:255:14)
    at Object.onceWrapper (node:events:635:26)
    at ChildProcess.emit (node:events:520:28)
    at maybeClose (node:internal/child_process:1105:16)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:305:5)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

It seems like an issue related to app-builder

For whatever reason, it tries to find a folder in /node_modules/create-hash/md5.js/package.json but it fails: image

Version 24.13.3 works fine on Mac.

TheCrypt0 avatar Sep 06 '24 15:09 TheCrypt0

@beyondkmp can you please take a look at this when you have a chance? Looks related to the app-builder-bin changes

mmaietta avatar Sep 06 '24 18:09 mmaietta

The createHash library depends on the md5.js library, and there might be issues with such paths on macOS. I'll try to reproduce and check.

https://github.com/browserify/createHash/blob/master/package.json#L35

beyondkmp avatar Sep 07 '24 23:09 beyondkmp

I'm having the same issue on Ubuntu WSL2.

$ electron-builder install-app-deps
  • electron-builder  version=25.0.5
  ⨯ open /home/user/code/project/node_modules/create-hash/md5.js/package.json: not a directory
github.com/develar/app-builder/pkg/node-modules.(*Collector).resolveDependency
        /Users/runner/work/app-builder/app-builder/pkg/node-modules/nodeModuleCollector.go:236
github.com/develar/app-builder/pkg/node-modules.(*Collector).processDependencies
        /Users/runner/work/app-builder/app-builder/pkg/node-modules/nodeModuleCollector.go:122
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
        /Users/runner/work/app-builder/app-builder/pkg/node-modules/nodeModuleCollector.go:64
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
        /Users/runner/work/app-builder/app-builder/pkg/node-modules/nodeModuleCollector.go:80
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
        /Users/runner/work/app-builder/app-builder/pkg/node-modules/nodeModuleCollector.go:80
github.com/develar/app-builder/pkg/node-modules.ConfigureCommand.func1
        /Users/runner/work/app-builder/app-builder/pkg/node-modules/tree.go:41
github.com/alecthomas/kingpin.(*actionMixin).applyActions
        /Users/runner/go/pkg/mod/github.com/alecthomas/[email protected]+incompatible/actions.go:28
github.com/alecthomas/kingpin.(*Application).applyActions
        /Users/runner/go/pkg/mod/github.com/alecthomas/[email protected]+incompatible/app.go:557
github.com/alecthomas/kingpin.(*Application).execute
        /Users/runner/go/pkg/mod/github.com/alecthomas/[email protected]+incompatible/app.go:390
github.com/alecthomas/kingpin.(*Application).Parse
        /Users/runner/go/pkg/mod/github.com/alecthomas/[email protected]+incompatible/app.go:222
main.main
        /Users/runner/work/app-builder/app-builder/main.go:90
runtime.main
        /Users/runner/hostedtoolcache/go/1.21.12/arm64/src/runtime/proc.go:267
runtime.goexit
        /Users/runner/hostedtoolcache/go/1.21.12/arm64/src/runtime/asm_amd64.s:1650
  ⨯ /home/user/code/project/node_modules/app-builder-bin/linux/x64/app-builder process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
Exit code:
1  failedTask=installAppDeps stackTrace=Error: /home/user/code/project/node_modules/app-builder-bin/linux/x64/app-builder process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
Exit code:
1
    at ChildProcess.<anonymous> (/home/user/code/project/node_modules/builder-util/src/util.ts:255:14)
    at Object.onceWrapper (node:events:629:26)
    at ChildProcess.emit (node:events:514:28)
    at maybeClose (node:internal/child_process:1105:16)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:305:5)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
node -v
v20.10.0
yarn -v
1.22.22

Crease29 avatar Sep 08 '24 10:09 Crease29

nativeRebuilder = sequential “legacy” | “sequential” | “parallel” | “undefined” - Use legacy app-builder binary for installing native dependencies, or @electron/rebuild in sequential or parallel compilation modes.

@Crease29 Which configuration are you using for the nativeRebuilder?

beyondkmp avatar Sep 09 '24 04:09 beyondkmp

nativeRebuilder = sequential “legacy” | “sequential” | “parallel” | “undefined” - Use legacy app-builder binary for installing native dependencies, or @electron/rebuild in sequential or parallel compilation modes.

@Crease29 Which configuration are you using for the nativeRebuilder?

I'm not overwriting this config flag, so I assume the default is sequential. Shall I try with an other value?

Crease29 avatar Sep 09 '24 15:09 Crease29

electron-builder install-app-deps is part of my postinstall script and that's where it's failing. I think at that point it hasn't even read any config flags yet.

The same command runs perfectly fine with 25.0.0-alpha.7

$ electron-builder install-app-deps
  • electron-builder  version=25.0.0-alpha.7
  • executing @electron/rebuild  electronVersion=29.4.6 arch=x64 buildFromSource=false appDir=./
  • installing native dependencies  arch=x64
  • completed installing native dependencies
Done in 12.26s.

Crease29 avatar Sep 09 '24 15:09 Crease29

Hmmm, there's not much I can find in the diff (https://github.com/electron-userland/electron-builder/compare/v25.0.0-alpha.7...v25.0.5#diff-7f97d68f3da2a576ab7689e166a9b012ab54ec606fc9833057830240df76c532 other than packages/app-builder-lib/src/util/yarn.ts) Can you try this patch-package? app-builder-lib+25.0.5.patch

diff --git a/node_modules/app-builder-lib/out/util/yarn.js b/node_modules/app-builder-lib/out/util/yarn.js
index 0ec91e6..7456ebc 100644
--- a/node_modules/app-builder-lib/out/util/yarn.js
+++ b/node_modules/app-builder-lib/out/util/yarn.js
@@ -169,9 +169,11 @@ async function rebuild(config, appDir, options) {
         debug: builder_util_1.log.isDebugEnabled,
         projectRootPath: await (0, search_module_1.getProjectRootPath)(appDir),
         mode: config.nativeRebuilder || "sequential",
-        buildFromSource: buildFromSource,
         disablePreGypCopy: true,
     };
+    if (buildFromSource) {
+        rebuildOptions.prebuildTagPrefix = "totally-not-a-real-prefix-to-force-rebuild";
+    }
     return (0, rebuild_1.rebuild)(rebuildOptions);
 }
 //# sourceMappingURL=yarn.js.map
\ No newline at end of file

mmaietta avatar Sep 09 '24 16:09 mmaietta

I've installed electron-builder 25.0.5, applied the changes to that file node_modules/app-builder-lib/out/util/yarn.js and ran yarn electron-builder install-app-deps, but still the same error message.

$ yarn electron-builder install-app-deps
yarn run v1.22.22
$ /home/user/code/project/node_modules/.bin/electron-builder install-app-deps
  • electron-builder  version=25.0.5
  ⨯ open  /home/user/code/project/node_modules/create-hash/md5.js/package.json: not a directory
github.com/develar/app-builder/pkg/node-modules.(*Collector).resolveDependency
[...]

Crease29 avatar Sep 09 '24 18:09 Crease29

Just for testing I've added a console log at that spot but it's not even executed. Here's the stack trace again:

Exit code:
1  failedTask=installAppDeps stackTrace=Error: /home/user/code/project/node_modules/app-builder-bin/linux/x64/app-builder process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
Exit code:
1
    at ChildProcess.<anonymous> (/home/user/code/project/node_modules/builder-util/src/util.ts:255:14)
    at Object.onceWrapper (node:events:629:26)
    at ChildProcess.emit (node:events:514:28)
    at maybeClose (node:internal/child_process:1105:16)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:305:5)

Crease29 avatar Sep 09 '24 18:09 Crease29

Found the issue! When I remove crypto-browserify (v3.12.0) it works. When I install it again, it fails.

Crease29 avatar Sep 09 '24 18:09 Crease29

I can confirm that manually removing the crypto-browserify folder from node_modules, although not ideal, seems to take the process a step ahead but now it breaks here for me:

yarn run v1.22.22
$ vite build -m prod && electron-builder --mac --win -p always
vite v5.3.2 building for prod...
✓ 316 modules transformed.
dist/index.html                            0.60 kB │ gzip:   0.38 kB
dist/assets/full-logo-CYuPax31.svg         6.57 kB │ gzip:   2.69 kB
dist/assets/HKNova-Regular-DKYRK5-9.ttf   91.38 kB
dist/assets/HKNova-Medium-DlIpTjze.ttf    91.98 kB
dist/assets/index-Fed0Psmw.css            29.86 kB │ gzip:   5.18 kB
dist/assets/rom-Caghk6Eh.js                0.05 kB │ gzip:   0.07 kB
dist/assets/esp32h2-Cf8JbGZQ.js            6.82 kB │ gzip:   4.43 kB
dist/assets/esp32c2-CtjOOsCE.js            6.83 kB │ gzip:   4.36 kB
dist/assets/esp32c6-BRG5ZpJ8.js            6.86 kB │ gzip:   4.44 kB
dist/assets/esp32c3-DDsZSfEd.js            6.94 kB │ gzip:   4.49 kB
dist/assets/esp32-BPYaDt9v.js              7.65 kB │ gzip:   4.62 kB
dist/assets/esp32s2-BOsRKhcm.js            7.83 kB │ gzip:   4.92 kB
dist/assets/esp32s3-DkgZlzv1.js            8.76 kB │ gzip:   5.47 kB
dist/assets/esp32p4-DfBdIAkh.js            9.89 kB │ gzip:   5.34 kB
dist/assets/esp8266-8VKmCx7J.js           14.14 kB │ gzip:   8.65 kB
dist/assets/index-DZO29Qgt.js            532.60 kB │ gzip: 170.81 kB

(!) Some chunks are larger than 500 kB after minification. Consider:
- Using dynamic import() to code-split the application
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
✓ built in 1.04s
vite v5.3.2 building for prod...
✓ 2 modules transformed.
dist-electron/main/index.js  4.63 kB │ gzip: 1.85 kB
✓ built in 10ms
vite v5.3.2 building for prod...
✓ 1 modules transformed.
dist-electron/preload/index.mjs  1.91 kB │ gzip: 0.88 kB
✓ built in 6ms
  • electron-builder  version=25.0.5 os=23.6.0
  • loaded configuration  file=package.json ("build" field)
  • writing effective config  file=out/builder-effective-config.yaml
  • executing @electron/rebuild  electronVersion=29.3.3 arch=arm64 buildFromSource=false appDir=./
  • installing native dependencies  arch=arm64
  • preparing       moduleName=@serialport/bindings-cpp arch=arm64
  ⨯ (node:45544) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Traceback (most recent call last):
  File "/Users/user/project/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module>
    import gyp  # noqa: E402
    ^^^^^^^^^^
  File "/Users/user/project/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module>
    import gyp.input
  File "/Users/user/project/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module>
    from distutils.version import StrictVersion
ModuleNotFoundError: No module named 'distutils'
Error: `gyp` failed with exit code: 1
    at ChildProcess.onCpExit (/Users/user/project/node_modules/node-gyp/lib/configure.js:325:16)
    at ChildProcess.emit (node:events:520:28)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12)


  ⨯ node-gyp failed to rebuild '/Users/user/project/node_modules/@serialport/bindings-cpp'  failedTask=build stackTrace=Error: node-gyp failed to rebuild '/Users/user/project/node_modules/@serialport/bindings-cpp'
    at ChildProcess.<anonymous> (/Users/user/project/node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.js:118:24)
    at ChildProcess.emit (node:events:520:28)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

It seems like it is trying to rebuild the serialport package, but shouldn't it use the already built binaries? (https://serialport.io/docs/guide-platform-support#supported-platforms-and-architectures)

With electron-builder v24.13.3 it was working fine.

TheCrypt0 avatar Sep 10 '24 09:09 TheCrypt0

Found the issue! When I remove crypto-browserify (v3.12.0) it works. When I install it again, it fails.

I will try it .

beyondkmp avatar Sep 10 '24 13:09 beyondkmp

Looks like it needs to run preparing moduleName=@serialport/bindings-cpp arch=arm64 as there is no provided binary for arm64 (only a universal per https://serialport.io/docs/guide-platform-support#supported-platforms-and-architectures We build a universal x64/M1 binary)

Does this issue happen when building an x64 version of your app?

mmaietta avatar Sep 10 '24 15:09 mmaietta

@mmaietta thanks for the suggestion, I just tried and here's the result.

Running

electron-builder --mac --arm64 -p always

or

electron-builder --mac --x64 -p always

or

electron-builder --mac --x64 --arm64 -p always

Outputs the same error.

Let me know if I can help with the troubleshooting in any other way.

TheCrypt0 avatar Sep 10 '24 16:09 TheCrypt0

Currently testing version 25.1.2. I'm still getting this error.

yarn run v1.22.22
$ vite build -m prod && electron-builder --mac --win -p always
vite v5.3.2 building for prod...
✓ 316 modules transformed.
dist/index.html                            0.60 kB │ gzip:   0.38 kB
dist/assets/full-logo-CYuPax31.svg         6.57 kB │ gzip:   2.69 kB
dist/assets/HKNova-Regular-DKYRK5-9.ttf   91.38 kB
dist/assets/HKNova-Medium-DlIpTjze.ttf    91.98 kB
dist/assets/index-Fed0Psmw.css            29.86 kB │ gzip:   5.18 kB
dist/assets/rom-Caghk6Eh.js                0.05 kB │ gzip:   0.07 kB
dist/assets/esp32h2-Cf8JbGZQ.js            6.82 kB │ gzip:   4.43 kB
dist/assets/esp32c2-CtjOOsCE.js            6.83 kB │ gzip:   4.36 kB
dist/assets/esp32c6-BRG5ZpJ8.js            6.86 kB │ gzip:   4.44 kB
dist/assets/esp32c3-DDsZSfEd.js            6.94 kB │ gzip:   4.49 kB
dist/assets/esp32-BPYaDt9v.js              7.65 kB │ gzip:   4.62 kB
dist/assets/esp32s2-BOsRKhcm.js            7.83 kB │ gzip:   4.92 kB
dist/assets/esp32s3-DkgZlzv1.js            8.76 kB │ gzip:   5.47 kB
dist/assets/esp32p4-DfBdIAkh.js            9.89 kB │ gzip:   5.34 kB
dist/assets/esp8266-8VKmCx7J.js           14.14 kB │ gzip:   8.65 kB
dist/assets/index-DZO29Qgt.js            532.60 kB │ gzip: 170.81 kB

(!) Some chunks are larger than 500 kB after minification. Consider:
- Using dynamic import() to code-split the application
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
✓ built in 1.04s
vite v5.3.2 building for prod...
✓ 2 modules transformed.
dist-electron/main/index.js  4.63 kB │ gzip: 1.85 kB
✓ built in 10ms
vite v5.3.2 building for prod...
✓ 1 modules transformed.
dist-electron/preload/index.mjs  1.91 kB │ gzip: 0.88 kB
✓ built in 6ms
  • electron-builder  version=25.0.5 os=23.6.0
  • loaded configuration  file=package.json ("build" field)
  • writing effective config  file=out/builder-effective-config.yaml
  • executing @electron/rebuild  electronVersion=29.3.3 arch=arm64 buildFromSource=false appDir=./
  • installing native dependencies  arch=arm64
  • preparing       moduleName=@serialport/bindings-cpp arch=arm64
  ⨯ (node:45544) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Traceback (most recent call last):
  File "/Users/user/project/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module>
    import gyp  # noqa: E402
    ^^^^^^^^^^
  File "/Users/user/project/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module>
    import gyp.input
  File "/Users/user/project/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module>
    from distutils.version import StrictVersion
ModuleNotFoundError: No module named 'distutils'
Error: `gyp` failed with exit code: 1
    at ChildProcess.onCpExit (/Users/user/project/node_modules/node-gyp/lib/configure.js:325:16)
    at ChildProcess.emit (node:events:520:28)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12)


  ⨯ node-gyp failed to rebuild '/Users/user/project/node_modules/@serialport/bindings-cpp'  failedTask=build stackTrace=Error: node-gyp failed to rebuild '/Users/user/project/node_modules/@serialport/bindings-cpp'
    at ChildProcess.<anonymous> (/Users/user/project/node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.js:118:24)
    at ChildProcess.emit (node:events:520:28)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

It seems like it is trying to rebuild the serialport package, but shouldn't it use the already built binaries? (https://serialport.io/docs/guide-platform-support#supported-platforms-and-architectures)

With electron-builder v24.13.3 it was working fine.

TheCrypt0 avatar Sep 16 '24 14:09 TheCrypt0

@mmaietta

I don't want to bother you but I don't understand why the issue was closed. I'm probably missing something.

Currently testing Windows build on macOS Sequoia (MacBook Air M2) version 25.1.5 and now it's stuck here:

yarn run v1.22.22
$ vite build -m prod && electron-builder --win -p always
vite v5.3.2 building for prod...
✓ 324 modules transformed.
dist/index.html                            0.60 kB │ gzip:   0.38 kB
dist/assets/full-logo-CYuPax31.svg         6.57 kB │ gzip:   2.69 kB
dist/assets/HKNova-Regular-DKYRK5-9.ttf   91.38 kB
dist/assets/HKNova-Medium-DlIpTjze.ttf    91.98 kB
dist/assets/index-D4lGcTSe.css            35.21 kB │ gzip:   5.67 kB
dist/assets/rom-Caghk6Eh.js                0.05 kB │ gzip:   0.07 kB
dist/assets/esp32h2-Cf8JbGZQ.js            6.82 kB │ gzip:   4.43 kB
dist/assets/esp32c2-CtjOOsCE.js            6.83 kB │ gzip:   4.36 kB
dist/assets/esp32c6-BRG5ZpJ8.js            6.86 kB │ gzip:   4.44 kB
dist/assets/esp32c3-DDsZSfEd.js            6.94 kB │ gzip:   4.49 kB
dist/assets/esp32-BPYaDt9v.js              7.65 kB │ gzip:   4.62 kB
dist/assets/esp32s2-BOsRKhcm.js            7.83 kB │ gzip:   4.92 kB
dist/assets/esp32s3-DkgZlzv1.js            8.76 kB │ gzip:   5.47 kB
dist/assets/esp32p4-DfBdIAkh.js            9.89 kB │ gzip:   5.34 kB
dist/assets/esp8266-8VKmCx7J.js           14.14 kB │ gzip:   8.65 kB
dist/assets/index-B56Pzm92.js            546.22 kB │ gzip: 173.98 kB

(!) Some chunks are larger than 500 kB after minification. Consider:
- Using dynamic import() to code-split the application
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
✓ built in 1.32s
vite v5.3.2 building for prod...
✓ 2 modules transformed.
dist-electron/main/index.js  4.63 kB │ gzip: 1.85 kB
✓ built in 11ms
vite v5.3.2 building for prod...
✓ 1 modules transformed.
dist-electron/preload/index.mjs  1.91 kB │ gzip: 0.88 kB
✓ built in 6ms
  • electron-builder  version=25.1.5 os=24.0.0
  • loaded configuration  file=package.json ("build" field)
  • writing effective config  file=out/builder-effective-config.yaml

TheCrypt0 avatar Sep 24 '24 16:09 TheCrypt0

Sorry @TheCrypt0 , looks like that was automation on a separate repo https://github.com/develar/app-builder/pull/132 that was linked to this GH issue. I'll reopen since you're still receiving an error

Can you re-execute with DEBUG=electron-builder env var set and post back logs. Curious as to where it is hanging in the logic flow

mmaietta avatar Sep 24 '24 16:09 mmaietta

@mmaietta Thanks for the quick reply!

Deleting node_modules and running yarn again seems to have fixed the issue, but unfortunately the built package doesn't work as it should.

It is a little strange because I ran yarn before posting the previous log to install the new electron-builder version.

Here's the error I'm getting on the windows machine, let me know if this rings a bell: Screenshot 2024-09-24 182158

TheCrypt0 avatar Sep 24 '24 16:09 TheCrypt0

This is starting to look like another GH issue reported re: native binaries. Any chance you can provide me with a repo I can clone to test locally on my parallels VM?

mmaietta avatar Sep 24 '24 17:09 mmaietta

@mmaietta Unfortunately I cannot provide the project I'm working on because it is a work project.

I should be able to create one next week, but for now I think what could be useful is that I'm using the serialport package.

TheCrypt0 avatar Sep 25 '24 17:09 TheCrypt0

@mmaietta

NVM, I found some time to create a minimal reproducible example. Here's what to expect with a working system: demo-builder.zip

image

TheCrypt0 avatar Sep 26 '24 15:09 TheCrypt0

@beyondkmp looks like we have an infinite loop/recursion in detecting dependencies via app-builder-bin, I'm seeing this in the logs nonstop. Can you please take a look at the minimal repro project provided?

  • unresolved deps  unresolved=esutils nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=escape-string-regexphas-ansi nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=ansi-regex nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=babel-messagesbabel-runtimebabel-typesdetect-indentlodashsource-maptrim-right nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=babel-runtimeesutilslodash nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=babel-code-framebabel-messagesbabel-runtimebabel-typesbabyloninvariantlodash nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=esutils nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=escape-string-regexphas-ansi nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=ansi-regex nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=babel-runtimeesutilslodash nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=babel-runtimeesutilslodash nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=babel-code-framebabel-generatorbabel-helpersbabel-messagesbabel-registerbabel-runtimebabel-templatebabel-traversebabel-typesbabylonlodashminimatchpath-is-absoluteprivateslashsource-map
                     nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules
                     round=0
  • unresolved deps  unresolved=esutils nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=escape-string-regexphas-ansi nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=ansi-regex nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=babel-messagesbabel-runtimebabel-typesdetect-indentlodashsource-maptrim-right nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=babel-runtimeesutilslodash nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=babel-code-framebabel-messagesbabel-runtimebabel-typesbabyloninvariantlodash nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=esutils nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=escape-string-regexphas-ansi nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=ansi-regex nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=babel-runtimeesutilslodash nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=babel-runtimeesutilslodash nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules round=0
  • unresolved deps  unresolved=babel-code-framebabel-generatorbabel-helpersbabel-messagesbabel-registerbabel-runtimebabel-templatebabel-traversebabel-typesbabylonlodashminimatchpath-is-absoluteprivateslashsource-map
                     nodeModuleDir=/Users/mmaietta/Downloads/demo-builder/node_modules
                     round=0

mmaietta avatar Sep 26 '24 18:09 mmaietta

@mmaietta This has been fixed in https://github.com/develar/app-builder/pull/138. image

beyondkmp avatar Sep 27 '24 00:09 beyondkmp

You're amazing @beyondkmp. I'll kick off the release of electron-builder now then to get this issue resolved.

@TheCrypt0, deploying release v25.1.6 now. Please update when you have a chance

mmaietta avatar Sep 27 '24 01:09 mmaietta

@mmaietta @beyondkmp

Thank you guys! That was incredibly fast.

I'm now getting this output

yarn run v1.22.22
$ vite build -m prod && electron-builder --win -p always
vite v5.4.8 building for prod...
✓ 33 modules transformed.
dist/index.html                   0.58 kB │ gzip:  0.37 kB
dist/assets/index-BaO87r0p.css    0.22 kB │ gzip:  0.16 kB
dist/assets/index-B3Z2Pk9w.js   143.23 kB │ gzip: 46.05 kB
✓ built in 394ms
vite v5.4.8 building for prod...
✓ 2 modules transformed.
dist-electron/main/index.js  5.21 kB │ gzip: 2.07 kB
✓ built in 16ms
vite v5.4.8 building for prod...
✓ 1 modules transformed.
dist-electron/preload/index.mjs  1.91 kB │ gzip: 0.88 kB
✓ built in 8ms
  • electron-builder  version=25.1.6 os=24.0.0
  • loaded configuration  file=package.json ("build" field)
  • writing effective config  file=out/builder-effective-config.yaml
  • executing @electron/rebuild  electronVersion=29.4.6 arch=x64 buildFromSource=false appDir=./
  • installing native dependencies  arch=x64
  • preparing       moduleName=@serialport/bindings-cpp arch=x64
  ⨯ (node:93882) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Traceback (most recent call last):
  File "/Users/user/projects/demo-builder/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module>
    import gyp  # noqa: E402
    ^^^^^^^^^^
  File "/Users/user/projects/demo-builder/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module>
    import gyp.input
  File "/Users/user/projects/demo-builder/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module>
    from distutils.version import StrictVersion
ModuleNotFoundError: No module named 'distutils'
Error: `gyp` failed with exit code: 1
    at ChildProcess.onCpExit (/Users/user/projects/demo-builder/node_modules/node-gyp/lib/configure.js:325:16)
    at ChildProcess.emit (node:events:519:28)
    at ChildProcess._handle.onexit (node:internal/child_process:293:12)


  ⨯ node-gyp failed to rebuild '/Users/user/projects/demo-builder/node_modules/@serialport/bindings-cpp'  failedTask=build stackTrace=Error: node-gyp failed to rebuild '/Users/user/projects/demo-builder/node_modules/@serialport/bindings-cpp'
    at ChildProcess.<anonymous> (/Users/user/projects/demo-builder/node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.js:118:24)
    at ChildProcess.emit (node:events:519:28)
    at ChildProcess._handle.onexit (node:internal/child_process:293:12)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Solution After running brew install python-setuptools, now it goes beyond that but it breaks later:

yarn run v1.22.22
$ vite build -m prod && electron-builder --win -p always
vite v5.4.8 building for prod...
✓ 33 modules transformed.
dist/index.html                   0.58 kB │ gzip:  0.37 kB
dist/assets/index-BaO87r0p.css    0.22 kB │ gzip:  0.16 kB
dist/assets/index-B3Z2Pk9w.js   143.23 kB │ gzip: 46.05 kB
✓ built in 412ms
vite v5.4.8 building for prod...
✓ 2 modules transformed.
dist-electron/main/index.js  5.21 kB │ gzip: 2.07 kB
✓ built in 17ms
vite v5.4.8 building for prod...
✓ 1 modules transformed.
dist-electron/preload/index.mjs  1.91 kB │ gzip: 0.88 kB
✓ built in 8ms
  • electron-builder  version=25.1.6 os=24.0.0
  • loaded configuration  file=package.json ("build" field)
  • writing effective config  file=out/builder-effective-config.yaml
  • executing @electron/rebuild  electronVersion=29.4.6 arch=x64 buildFromSource=false appDir=./
  • installing native dependencies  arch=x64
  • preparing       moduleName=@serialport/bindings-cpp arch=x64
  • finished        moduleName=@serialport/bindings-cpp arch=x64
  • preparing       moduleName=fsevents arch=x64
  • finished        moduleName=fsevents arch=x64
  • preparing       moduleName=fsevents arch=x64
  • finished        moduleName=fsevents arch=x64
  • completed installing native dependencies
  • packaging       platform=win32 arch=x64 electron=29.4.6 appOutDir=out/win-unpacked
  • downloading     url=https://github.com/electron/electron/releases/download/v29.4.6/electron-v29.4.6-win32-x64.zip size=108 MB parts=8
  • downloaded      url=https://github.com/electron/electron/releases/download/v29.4.6/electron-v29.4.6-win32-x64.zip duration=18.03s
  • updating asar integrity executable resource  executablePath=out/win-unpacked/demo-app.exe
  ⨯ image: unknown format
github.com/develar/go-fs-util.CloseAndCheckError
        /Users/runner/go/pkg/mod/github.com/develar/[email protected]/fs.go:117
github.com/develar/app-builder/pkg/icons.DecodeImageAndClose
        /Users/runner/work/app-builder/app-builder/pkg/icons/image-util.go:90
github.com/develar/app-builder/pkg/icons.LoadImage
        /Users/runner/work/app-builder/app-builder/pkg/icons/image-util.go:54
github.com/develar/app-builder/pkg/icons.loadImage
        /Users/runner/work/app-builder/app-builder/pkg/icons/icon-converter.go:342
github.com/develar/app-builder/pkg/icons.configureInputInfoFromSingleFile
        /Users/runner/work/app-builder/app-builder/pkg/icons/icon-converter.go:324
github.com/develar/app-builder/pkg/icons.doConvertIcon
        /Users/runner/work/app-builder/app-builder/pkg/icons/icon-converter.go:249
github.com/develar/app-builder/pkg/icons.ConvertIcon
        /Users/runner/work/app-builder/app-builder/pkg/icons/icon-converter.go:56
github.com/develar/app-builder/pkg/icons.ConfigureCommand.func1
        /Users/runner/work/app-builder/app-builder/pkg/icons/icon-converter.go:33
github.com/alecthomas/kingpin.(*actionMixin).applyActions
        /Users/runner/go/pkg/mod/github.com/alecthomas/[email protected]+incompatible/actions.go:28
github.com/alecthomas/kingpin.(*Application).applyActions
        /Users/runner/go/pkg/mod/github.com/alecthomas/[email protected]+incompatible/app.go:557
github.com/alecthomas/kingpin.(*Application).execute
        /Users/runner/go/pkg/mod/github.com/alecthomas/[email protected]+incompatible/app.go:390
github.com/alecthomas/kingpin.(*Application).Parse
        /Users/runner/go/pkg/mod/github.com/alecthomas/[email protected]+incompatible/app.go:222
main.main
        /Users/runner/work/app-builder/app-builder/main.go:90
runtime.main
        /Users/runner/hostedtoolcache/go/1.21.13/arm64/src/runtime/proc.go:267
runtime.goexit
        /Users/runner/hostedtoolcache/go/1.21.13/arm64/src/runtime/asm_arm64.s:1197  
  ⨯ /Users/user/projects/demo-builder/node_modules/app-builder-bin/mac/app-builder_arm64 process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
Exit code:
1  failedTask=build stackTrace=Error: /Users/user/projects/demo-builder/node_modules/app-builder-bin/mac/app-builder_arm64 process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
Exit code:
1
    at ChildProcess.<anonymous> (/Users/user/projects/demo-builder/node_modules/builder-util/src/util.ts:255:14)
    at Object.onceWrapper (node:events:634:26)
    at ChildProcess.emit (node:events:519:28)
    at maybeClose (node:internal/child_process:1104:16)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:304:5)
From previous event:
    at processImmediate (node:internal/timers:491:21)
From previous event:
    at WinPackager.signApp (/Users/user/projects/demo-builder/node_modules/app-builder-lib/src/winPackager.ts:270:27)
    at WinPackager.doSignAfterPack (/Users/user/projects/demo-builder/node_modules/app-builder-lib/src/platformPackager.ts:346:32)
    at WinPackager.doPack (/Users/user/projects/demo-builder/node_modules/app-builder-lib/src/platformPackager.ts:331:7)
    at WinPackager.pack (/Users/user/projects/demo-builder/node_modules/app-builder-lib/src/platformPackager.ts:138:5)
    at Packager.doBuild (/Users/user/projects/demo-builder/node_modules/app-builder-lib/src/packager.ts:459:9)
    at executeFinally (/Users/user/projects/demo-builder/node_modules/builder-util/src/promise.ts:12:14)
    at Packager.build (/Users/user/projects/demo-builder/node_modules/app-builder-lib/src/packager.ts:393:31)
    at executeFinally (/Users/user/projects/demo-builder/node_modules/builder-util/src/promise.ts:12:14)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Solution This was caused by a missing icon.png in the build folder. After adding it, the error went away.

Leaving those troubleshooting steps for anyone that might found himself in the same situation in the future.


I now got an installer file but is still not working (built on macOS Sequoia (MacBook Air M2), electron-builder version 25.1.6) :

Screenshot 2024-09-27 102328

Is there anything else I should try?

TheCrypt0 avatar Sep 27 '24 08:09 TheCrypt0

The combination of is not a valid Win32 application and serialport providing prebuilt binaries will be resolved via: https://github.com/electron-userland/electron-builder/pull/8537

mmaietta avatar Sep 27 '24 14:09 mmaietta

Released in 25.1.7, please feel free to give it a shot!

mmaietta avatar Oct 02 '24 22:10 mmaietta

Hey @mmaietta , unfortunately it doesn't work.

yarn run v1.22.22
$ vite build -m prod && electron-builder --win -p always
vite v5.3.2 building for prod...
transforming (68) src/screens/Home/Home.module.css[electron-renderer] pre-bundling serialport
✓ 372 modules transformed.
dist/index.html                            0.60 kB │ gzip:   0.38 kB
dist/assets/full-logo-CYuPax31.svg         6.57 kB │ gzip:   2.69 kB
dist/assets/HKNova-Regular-DKYRK5-9.ttf   91.38 kB
dist/assets/HKNova-Medium-DlIpTjze.ttf    91.98 kB
dist/assets/index-M_Gvody7.css            44.10 kB │ gzip:   6.64 kB
dist/assets/rom-Caghk6Eh.js                0.05 kB │ gzip:   0.07 kB
dist/assets/esp32h2-Cf8JbGZQ.js            6.82 kB │ gzip:   4.43 kB
dist/assets/esp32c2-CtjOOsCE.js            6.83 kB │ gzip:   4.36 kB
dist/assets/esp32c6-BRG5ZpJ8.js            6.86 kB │ gzip:   4.44 kB
dist/assets/esp32c3-DDsZSfEd.js            6.94 kB │ gzip:   4.49 kB
dist/assets/esp32-BPYaDt9v.js              7.65 kB │ gzip:   4.62 kB
dist/assets/esp32s2-BOsRKhcm.js            7.83 kB │ gzip:   4.92 kB
dist/assets/esp32s3-DkgZlzv1.js            8.76 kB │ gzip:   5.47 kB
dist/assets/esp32p4-DfBdIAkh.js            9.89 kB │ gzip:   5.34 kB
dist/assets/esp8266-8VKmCx7J.js           14.14 kB │ gzip:   8.65 kB
dist/assets/index-BPLkTsNz.js            677.52 kB │ gzip: 204.18 kB

(!) Some chunks are larger than 500 kB after minification. Consider:
- Using dynamic import() to code-split the application
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
✓ built in 1.27s
vite v5.3.2 building for prod...
✓ 2 modules transformed.
dist-electron/main/index.js  5.28 kB │ gzip: 2.10 kB
✓ built in 10ms
vite v5.3.2 building for prod...
✓ 1 modules transformed.
dist-electron/preload/index.mjs  1.91 kB │ gzip: 0.88 kB
✓ built in 5ms
  • electron-builder  version=25.1.7 os=24.0.0
  • loaded configuration  file=package.json ("build" field)
  • writing effective config  file=out/builder-effective-config.yaml
  • executing @electron/rebuild  electronVersion=29.3.3 arch=x64 buildFromSource=false appDir=./
  • installing native dependencies  arch=x64
  • preparing       moduleName=@serialport/bindings-cpp arch=x64
  • finished        moduleName=@serialport/bindings-cpp arch=x64
  • preparing       moduleName=fsevents arch=x64
  ⨯ node-gyp does not support cross-compiling native modules from source.  failedTask=build stackTrace=Error: node-gyp does not support cross-compiling native modules from source.
    at NodeGyp.rebuildModule (/Users/user/project/node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.js:79:19)
    at ModuleRebuilder.rebuildNodeGypModule (/Users/user/project/node_modules/@electron/rebuild/lib/module-rebuilder.js:112:28)
    at ModuleRebuilder.rebuild (/Users/user/project/node_modules/@electron/rebuild/lib/module-rebuilder.js:145:27)
    at async Rebuilder.rebuildModuleAt (/Users/user/project/node_modules/@electron/rebuild/lib/rebuild.js:165:13)
    at async Rebuilder.rebuild (/Users/user/project/node_modules/@electron/rebuild/lib/rebuild.js:115:17)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

TheCrypt0 avatar Oct 04 '24 09:10 TheCrypt0