我直接进入wsl debian 跑 npm run make 结果指出来 squirrel 的包,为啥子捏。
不应该是deb包么
我尝试了
有在 debian linux 中重新安装依赖
npm i
然后运行
npm run make -- --platform linux
结果报错了
› Cannot make for linux and target deb: the maker declared that it cannot run on win32.
我直接进入wsl debian 跑 npm run make 结果指出来 squirrel 的包,为啥子捏。
不应该是deb包么
我尝试了
有在 debian linux 中重新安装依赖
npm i
然后运行
npm run make -- --platform linux
结果报错了
› Cannot make for linux and target deb: the maker declared that it cannot run on win32.
在 WSL (Windows Subsystem for Linux) 中使用 Electron Forge 为 Electron 项目打包 .deb
文件时,如果你遇到了与 Squirrel 相关的错误或输出,这可能是因为 Electron Forge 试图为 Windows 平台打包应用程序,而不是 Debian 或其他 Linux 发行版。
Electron Forge 支持为多种平台打包应用程序,但你需要确保你正确配置了目标平台。默认情况下,如果你的开发环境在 Windows 上,Electron Forge 可能会尝试为 Windows 平台打包(即使用 Squirrel)。
为了在 WSL Debian 中为 Electron 项目打包 .deb
文件,你需要确保以下几点:
设置目标平台:
确保你的 package.json
文件中正确设置了 electronForgeConfig
下的 makers
配置,以包含 Debian 的打包器。例如:
"electronForgeConfig": {
"makers": [
{
"name": "@electron-forge/maker-deb",
"config": {
// 这里可以添加针对 deb 打包的特定配置
}
}
// 其他可能的 makers 如 squirrel.windows 等
]
}
安装必要的依赖:
确保你已经安装了 @electron-forge/maker-deb
和其他必要的依赖。你可以通过运行以下命令来安装它们:
npm install --save-dev @electron-forge/maker-deb
运行打包命令:
在配置好目标平台并安装了必要的依赖之后,你可以运行打包命令:
npm run make
或者指定只打包 .deb
:
npx electron-forge make --targets=deb
使用 --targets=deb
参数可以确保 Electron Forge 只为 Debian 或 Ubuntu 打包 .deb
文件。
请注意,在 WSL 中打包 Linux 发行版的 .deb
文件可能受到 WSL 功能的限制,因为 WSL 主要是为了与 Windows 应用程序的兼容性而设计的。在某些情况下,直接在 Linux 环境中进行打包可能更为可靠和方便。如果你经常需要为 Linux 发行版打包 Electron 应用,考虑使用原生 Linux 环境可能是个好主意。
10 回答11.1k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
electron 的编译会根据不同的系统进行编译
如果在wsl中进行编译,需要重新在 wsl 安装 nodejs 以及具体依赖。
首先在 wsl 中安装 nodejs( 建议使用nvm 或者 fnm
然后重新安装依赖
安装成功后编译可能还是失败,因为 缺少 dpkg 和 fakeroot 安装他
我使用vite 所以还需要安装 @rollup/rollup-linux-x64-gnu
然后重新运行 make 命令
最后终于打包成功了。