最近正好有些需求,需要使用Electron来开发客户端。因为最近一直在用tauri,我把我这的默认包管理换成了pnpm。
所以就顺手使用pnpm来初始化Electron项目。
然后我运行项目时,提示我 Electron uninstall。

我检查了下package.json
,并重新安装下也不行。
当我再次使用 pnpm i
安装依赖时,我看到这句话。

ok,尝试输入 pnpm approve-builds
并执行,会提示选择需要编译的依赖,用空格键选中,在输入 yes 确认即可。

pnpm
会在 package.json
文件中添加onlyBuiltDependencies
配置节

neverBuiltDependencies
,来允许所有不在其中的脚本运行好的,问题解决了。
那么,为什么会导致这个问题发生呢?
原因是从pnpm10开始,为了安全默认在安装依赖时不运行相关build脚本。
而Electron在安装时需要运行脚本来构建二进制文件。

这时候需要手动授权下运行构建脚本。