使用electron-packager打包Electron应用后启动exe报“Unable to find a valid app”错误
解决Electron打包后“Unable to find a valid app”错误
嘿,我帮你排查下这个问题,大概率是打包命令里的路径参数写错啦!
问题根源分析
你当前的build脚本是:
"build": "electron-packager ./src/ electron-roll-tool --win --out ../dist --arch=x64 --version=0.0.1..."
这里第一个参数./src/是核心错误——electron-packager需要读取项目根目录下的package.json来识别应用入口(也就是你配置的main: "src/main.js"),但你把打包目标指向了src文件夹,而src里没有package.json,工具自然找不到有效的应用入口,就抛出了“Unable to find a valid app”的错误。
修正方案
把build脚本里的第一个参数改成项目根目录./,同时调整几个细节:
- 把
--version=0.0.1改成--electron-version=你的Electron版本号(比如--electron-version=28.0.0,这个版本号要和你本地安装的Electron一致,不然可能打包出问题) - 确认根目录的
package.json里的main路径正确,你的"main": "src/main.js"是没问题的,只要src/main.js确实存在就行
修正后的scripts配置大概是这样:
"scripts": { "start": "electron .", "build": "electron-packager ./ electron-roll-tool --win --out ../dist --arch=x64 --electron-version=28.0.0" }
额外检查点
- 确认你已经把
electron-packager安装为开发依赖了,如果没装的话,先跑npm install electron-packager --save-dev - 打包前可以先检查
src/main.js是否存在,有没有语法错误,避免因为入口文件本身的问题导致打包异常
内容的提问来源于stack exchange,提问作者Zerui Hu
相关产品推荐
相关产品推荐

