pnpm会重复安装同一个版本的依赖?-灵析社区

拽嘻嘻

比如 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本体并返回路径,我就直接返回了我解压后的路径,它工作的很完美…… 因为我的项目是纯自用,无其他开发者,但每次做新东西都要改一边代码,很烦…… 或许我直接上传一份自用的是最好的办法了

阅读量:52

点赞量:0

问AI
我猜你是想改这几个环境变量吧。 "https://www.npmjs.com/package/@electron/get#using-environment..." (https://link.segmentfault.com/?enc=EsFYTqpA8MGX27%2FIXXXSow%3D%3D.fIxCVmRZkuFEV9Bs5xZxyf%2BVajv5k1QNL52TILkie8V%2BQ7ThBXru%2FJFQ3OAsz0bj7HWeyF0d4u%2BFLCO5P1PN38cz0uWVMNtCdIErBblSA6XlVK8h8gXhyuXvZWTS%2Bdd9) 至于将某个包修改后以后就一直用修改后的包,有这么几种可能的方法: 1. 自己建一个 npm 镜像 2. "https://pnpm.io/zh/cli/add#%E4%BB%8E%E6%9C%AC%E5%9C%B0%E5%AE%..." (https://link.segmentfault.com/?enc=Xlt2Gl%2BTIUsJrvJgxfBpQA%3D%3D.zeasfETMcpuCOzUOw3xeCtis2C2X2cf44HyU6gCT3kJd92rBH%2F0429gEdTW2wn2VmVpvuViy8%2FTnpruEPtg2osUEPDZwDwuPCR5L5o03aSo%3D) 3. "https://pnpm.io/zh/cli/link" (https://link.segmentfault.com/?enc=bVdnJiMhcIjUJwpYNzOKfg%3D%3D.O1vmQfyeMNqp%2BOcXujHftURwvu1TywTlCA9glKDNFAE%3D) 4. "https://pnpm.io/zh/cli/patch" (https://link.segmentfault.com/?enc=j7dAumDfx2T5jL%2BNYHVfog%3D%3D.2fVpWOh56evZBox5fEeAmxDSqvItG7RVknqTS3jJX%2BE%3D)