ElectronNET/Electron.NET

Error with executable of electron-builder; cannot find module '@socket.io/component-emitter'

Thokerb opened this issue · 3 comments

ElectronNET.CLI Version: 23.6.2.0

  • Version:

.Net 6
Node.JS v18.18.2

  • Target:
    electronize build /target win

When building the project with target win as portable and then trying to run it, the following error message is appearing.
There are no errors during building the application.
cannot find module '@socket.io/component-emitter'
After inspecting the created app.asar archive, the package is included.
When running electronize start, then the app is starting without problems.

Steps to Reproduce:

  1. Run electronize build /target win
  2. Try to start the portable executable
  3. Error message cannot find module '@socket.io/component-emitter' appears

Reason:

This is related to the issue electron-userland/electron-builder#8244 . I don't know the exact problem of the new electron-builder, but when switching back to version 24.13.3 of the electron-builder the application can start after building.

Intermediate solution:

Set electron-builder version to 24.13.3 locally

npm install -g electron-builder@24.13.3
npm link electron-builder

Proposed solution

Set a fixed version of electron-builder in the https://github.com/ElectronNET/Electron.NET/blob/main/src/ElectronNET.CLI/Commands/BuildCommand.cs#L201 to avoid unexpected behaviour in the future.

I am facing a similar error: cannot find module 'ws' error

Building works, running in development works, but it is when opening using the generated exe.

image

This seems that happened overnight.
Did any package changed and caused this? Any hint will be appreciated


EDIT: found the issue, it is related to signalR client that I am using.

Since Electron.Net uses node integration, and does not isolate context, signalR library thinks it is running in a node environment, and try to require the "ws" library.

I don't have a solution but I did the obvious workaround: modify the code of the signalR library. Hope they give some alternative. dotnet/aspnetcore#49065 (comment)