Mac 升级到 Montenrey 后 Electron 打包报错 Error: Exit code: ENOENT. spawn /usr/bin/python ENOENT
前段时间把给我这台 2015 早期的 13 寸 MacBook Pro 换了电池,换了主板(升级内存),然后把系统也升级到了 Monterey。平时使用倒无所谓,然后昨天我 SendToflomo改了一些小问题,想重新发版的时候,发现打包报错:
Error: Exit code: ENOENT. spawn /usr/bin/python ENOENT
查了一下,原来 Monterey 把系统内置的 python 2.7 移除了,对 python 开发者来说也许是一件好事,但对我来说却是给我造成了极大的困扰。我折腾了好久,网上找了一圈方法,其实在 vue-cli-plugin-electron-builder 的 issue#6767 中已经有人提了解决方法,就是把 electron-builder 升级至 v23.0.3
。但是 vue-cli-plugin-electron-builder 的作者并没有更新,最后我在另一个 issue#1691 找到了解决方法,其实就是这位兄弟 fork 了 vue-cli-plugin-electron-builder,然后将依赖的 electron-builder 的版本进行了升级。而我们要做的就是将 vue-cli-plugin-electron-builder 的引用地址改一下,改为如下:
"devDependencies": {
"vue-cli-plugin-electron-builder": "git://github.com/spuky/vue-cli-plugin-electron-builder#b6826fc"
}
然后删除 node_modules 重新安装依赖,之后就能正常打包了。
如果是直接用 electron-builder 进行打包的,那么直接升级版本应该就可以解决。