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:
- Run
electronize build /target win - Try to start the portable executable
- 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-builderProposed 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.
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)
