Electron Forge "No usable Squirrel" on Windows in CI
The Squirrel.Windows maker builds a Windows installer. On a Linux or macOS runner it needs mono and wine to run the Windows tooling; without them Forge reports it has no usable Squirrel and cannot make the win32 target.
What this error means
electron-forge make fails with "Cannot make for win32 and target squirrel: the maker declared that it cannot run on linux" or a "No usable Squirrel" error.
An unhandled rejection has occurred inside Forge:
Error: Cannot make for win32 and target squirrel: the maker declared
that it cannot run on linuxCommon causes
Building the win32 squirrel target off Windows
maker-squirrel needs mono and wine to run on Linux/macOS; without them it declares it cannot run on the host.
Missing mono/wine on the runner
Even when cross-building is intended, the absence of mono or wine makes Squirrel unusable.
How to fix it
Build the Windows target on a Windows runner
Run the squirrel maker on windows-latest, where no mono/wine is needed.
jobs:
win:
runs-on: windows-latest
steps:
- run: npx electron-forge make --platform win32Install mono and wine for Linux cross-builds
If you must cross-build, provide mono and wine so Squirrel can run.
sudo apt-get update
sudo apt-get install -y mono-devel wine64How to prevent it
- Build win32 squirrel targets on Windows runners.
- Install mono and wine for Linux cross-builds only when needed.
- Split per-OS make jobs so each runs where its tooling exists.