比如 pnpm add electron@25.2.0 * 我修改了先安装的`E:\Electron模板\node_modules\electron\install.js` * 然后在另一个项目安装`electron@25.2.0` 查看`E:\Project\Electron\xxx\node_modules\electron\install.js` 发现内容还是原始内容 > 修改的原因是网络环境问题 请问如何只保留一份呢? 我还安装了全局的`electron@25.2.0`,但报错说找不到`electron`,可控制台能找到,如果有全局包,pnpm还会安装局部包吗? * * * ## 补充说明为什么要改源码 * 国内网络问题,不想多说 * 方便开发——独立开发,无其他参与者 electron安装问题不用多说了吧,所以我用魔法把zip包下载后解压到d盘下,然后指定electron目录就行(理论上),实际electron的安装文件也提供了此种用法: function isInstalled () { try { if (fs.readFileSync(path.join(__dirname, 'dist', 'version'), 'utf-8').replace(/^v/, '') !== version) { return false; } if (fs.readFileSync(path.join(__dirname, 'path.txt'), 'utf-8') !== platformPath) { return false; } } catch (ignored) { return false; } const electronPath = process.env.ELECTRON_OVERRIDE_DIST_PATH || path.join(__dirname, 'dist', platformPath); return fs.existsSync(electronPath); } 但无论是 path.txt还是ELECTRON_OVERRIDE_DIST_PATH,在我这都没效果,我之前问过: 但没有解决问题 我看代码主要就是为了下载electron本体并返回路径,我就直接返回了我解压后的路径,它工作的很完美…… 因为我的项目是纯自用,无其他开发者,但每次做新东西都要改一边代码,很烦…… 或许我直接上传一份自用的是最好的办法了