Electron-React应用打包时出现/bin/sh: build: command not found错误的问题求助
解决Electron/React打包时
build: command not found的问题 嘿,我之前也碰到过类似的打包报错,结合你的配置来看,咱们一步步拆解问题、修复它:
1. 错误根源分析
你运行的命令yarn electron-pack $ build -mw里多了$ build这个冗余部分——这个写法会让shell把$ build当成未定义的环境变量,解析后相当于执行electron-pack -mw,而你的electron-pack脚本本身是build -mw,系统里并没有全局的build命令,所以才会触发command not found。另外,你的preelectron-pack已经配置了自动先执行yarn build,完全不需要手动加这个参数。
2. 修正打包命令和脚本配置
首先,去掉多余参数,直接运行正确的打包命令:
yarn electron-pack
其次,为了避免环境变量无法识别build别名的问题,建议把electron-pack脚本里的build替换成明确的electron-builder(build其实是electron-builder的简写,但部分环境下不会自动映射)。修改后的scripts配置如下:
"scripts": { "start": "rescripts start", "build": "rescripts build", "test": "rescripts test", "eject": "react-scripts eject", "electron-dev": "concurrently \"BROWSER=none yarn start\" \"wait-on http://localhost:3000 && electron .\"", "postinstall": "electron-builder", "preelectron-pack": "yarn build", "electron-pack": "electron-builder -mw" }
3. 排查新增包导致的依赖冲突
因为问题是安装新包后出现的,大概率是依赖链被破坏了,建议执行以下步骤重置依赖:
- 删除旧的依赖文件:
rm -rf node_modules yarn.lock - 重新安装完整依赖:
yarn install - 先单独运行
yarn build,确认React项目能正常编译出build文件夹,排除编译环节本身的问题。
4. 额外排查点
如果还是报错,可以暂时注释掉postinstall里的electron-builder——这个命令会在每次安装依赖后自动执行打包,可能和手动打包流程冲突:
// "postinstall": "electron-builder",
按照这些步骤操作,应该就能解决打包报错的问题了!
内容的提问来源于stack exchange,提问作者iskandar47
相关产品推荐
相关产品推荐

