eaio (Electron All in One) 是一个通过将磁盘上所有 Electron 应用中相同文件硬链接到统一位置来减少磁盘占用的解决方案,就像 pnpm 一样。@Appinn

eaio (Electron All in One) - 让你的电脑里,只需要一份 Electron,大量节省空间。

Electron 是什么?

Electron 是一个用于构建跨平台桌面应用的开源框架。对于开发者来说,它简化了跨平台的开发,并且拥有强大的调试工具和丰富的插件与生态。但对用户来说,每一个使用 Electron 的软件都会引入一整套程序,于是就有了这个:

  • CEF Detector – 你的电脑上共有几个 Chromium/Electron 内核的应用?
eaio (Electron All in One) - 让你的电脑里,只需要一份 Electron,大量节省空间。 1

每个人的电脑里有 5+ 以上的重复 Electron 都属于常规

又于是,就有了这个:

eaio (Electron All in One)

来自发现频道,手搓大佬 @wankkoree 的作品。

还在苦恼大前端趋势下,硬盘中 Electron 应用越来越多吗?本工具可以将 Electron 应用硬链接到其所在磁盘分区根目录的.electron仓库中,从而实现一份文件多应用使用,大大减少磁盘占用。(最终效果取决于:同一磁盘分区中,同一 Electron 版本和架构的应用有多少)

原理

硬链接会将多个文件指向同一磁盘位置,使得多个相同的文件只占用一份空间。

本工具支持自动识别应用入口、自动判断 Electron 版本和架构、自动判断是否应该被硬链接。

具体效果可通过 WizTree 查看。

eaio (Electron All in One) - 让你的电脑里,只需要一份 Electron,大量节省空间。 2
eaio (Electron All in One) - 让你的电脑里,只需要一份 Electron,大量节省空间。 3

Q&A

  1. Q: 为什么不用更优雅的软链接?A: 软链接状态下的electron.exe无法正确判断运行目录(如有解决方法欢迎讨论),且可能因为一些原因造成误删。
  2. Q: 为什么不用electron命令行指定resources路径?A: 一些应用会在运行目录下放置额外的.exe.dll文件,指定应用路径可能会造成应用无法找到这些文件。
  3. Q: 只支持 Windows 吗?A: 其他系统暂未测试有效性,如本方案可用于其它系统,后续会支持。

注意事项

  1. 本工具会在执行linkcheck操作时,在目标应用所在的磁盘分区下创建.electron仓库,用于存储硬链接的源文件,如无特殊情况请不要删、改。
  2. 本工具的status操作可以检查所有磁盘分区下.electron仓库中所有版本的完整性和有效性,可用于检查下载完成情况、源文件存在情况、源文件改动情况。
  3. 本工具的download操作可以下载目标版本和架构的Electron预编译程序到指定磁盘分区的.electron仓库中,如果已存在则会进行覆盖,所以也可用于对源文件的恢复/修复。
  4. 请不要对已链接的Electron应用进行文件粉碎操作,可能会导致源文件改动。
  5. 请不要对.electron仓库进行文件粉碎操作,可能会导致已链接的Electron应用文件改动。

获取

  • GitHub
  • 下载页面

有使用疑问的同学可以前往发现频道与开发者沟通:

  • 发现频道:https://meta.appinn.net/t/topic/43916

另外,开发者提到:Linux 与 MacOS 待适配。


原文:https://xbcpy.com/