Mac 用户的存储焦虑,有救了
Mac 的硬盘比黄金还贵——选配大容量要加几千块,丐版 256GB 用半年就见底。Xcode 十几 GB、Final Cut Pro 几 GB、Adobe 全家桶几十 GB……装几个大型软件空间就没了。
AppPorts 的思路很直接:把那些占用大的应用搬到外置硬盘上,在原来位置留一个「启动桩」,系统以为应用还在本地,但实际上本体在外置存储上。这样既省了本地空间,也不影响使用体验。
项目 1.7k Star,Apache-2.0 协议,Swift + SwiftUI 编写,仅支持 macOS。
核心原理:Stub Portal ≠ 符号链接
你可能觉得「这不就是做个符号链接(Symlink)吗?」其实不然。AppPorts 用的是 Stub Portal 技术,和传统符号链接有几个关键区别:
| AppPorts (Stub Portal) | 传统符号链接 | |
|---|---|---|
| Finder 图标 | 原生图标,无箭头 | 有小箭头,像快捷方式 |
| Launchpad | ✅ 完美 | ⚠️ 不可靠 |
| macOS 菜单 | ✅ 完美 | ❌ 不支持 |
| 自动更新保护 | ✅ 锁定模式 | ❌ 无 |
| 签名管理 | ✅ 内置 | ❌ 无 |
这意味着你或你家人使用时完全感知不到应用被「搬家」了——从 Launchpad 打开、从 Finder 图标打开、从 macOS 的应用菜单打开,都和本地安装一模一样。
安装
要求:macOS 12.0 (Monterey) 或更新。
- 从 官网 或 GitHub Releases 下载
AppPorts.dmg - 把 AppPorts.app 拖到 /Applications
- 如果 macOS 提示「已损坏」,在终端运行:
xattr -rd com.apple.quarantine /Applications/AppPorts.app - 去 系统设置 → 隐私与安全性 → 完全磁盘访问权限,把 AppPorts 加入列表并开启
- 重启 AppPorts
注意:因为应用没有 Apple Developer ID 签名,首次启动需要手动解除隔离属性。这是开源工具常见的情况。
使用
迁移应用
- 插上外置硬盘(SSD/SD 卡/NAS 均可)
- 打开 AppPorts,会列出已安装的所有应用
- 选中你想迁移的大型应用(比如 Xcode、Adobe Photoshop 等)
- 点击迁移按钮——应用本体搬到外置存储,本地只留一个极小的启动桩
根据应用类型,AppPorts 会自动采取不同的迁移策略:
- 原生 Mac 应用——标准 Stub Portal
- 自更新应用(Electron、Chrome、Sparkle 框架)——Stub Portal + 锁定模式,防止自动更新误删外部文件
- iPhone/iPad 应用——iOS Stub Portal
- Mac App Store 应用(macOS 15.1+)——直接安装到外部磁盘即可,原地更新
- Office/Adobe 套件——文件夹符号链接整体处理
- 系统应用、正在运行的应用——被阻止迁移,防止系统损坏
恢复应用
随时可以一键恢复——把应用从外置存储移回本地,链接自动移除。
迁移数据目录
除了应用本身,还可以把 ~/Library/ 下的子文件夹以及 ~/.npm、~/.cocoapods 等开发配置目录迁移到外部存储。界面以树状视图和分组卡片形式呈现,支持搜索和排序。
孤立链接清理
如果外置硬盘拔掉了,或者应用本体不小心被删除,AppPorts 会在列表中用红色徽章标记出「孤立链接」,一键清理残留的启动桩。
签名修复
如果迁移后应用弹出「已损坏」警告,可以使用内置功能重新签名或恢复原始签名。
中断自动恢复
如果在迁移过程中外置硬盘意外断开,AppPorts 会自动触发恢复流程,将应用和配置回滚到迁移前的状态——安全感拉满。
推荐搭档工具:LazyMount
AppPorts 搭配 LazyMount 效果更好——它可以自动挂载 SMB 和云存储,让你不用手动插拔硬盘。
我的看法
AppPorts 解决的是一个非常具体的痛点——Mac 硬盘不够用。它不做别的事,但把这件事做好了。
Stub Portal 技术比传统的符号链接方案前进了一大步:没有箭头图标、Launchpad 没故障、系统菜单也兼容。这些细节决定了它是「让用户无感知」的工具,而不是「需要用户理解并接受妥协」的工具。
1.7k Star 说明需求确实存在。如果你用的是丐版 Mac(256GB/512GB),又不得不用 Xcode 或 Adobe 全家桶,这个工具能让你省出一块硬盘的钱——毕竟加配要几千,外置 SSD 几百就够了。
当然 macOS 的安全机制对这类工具不太友好(需要完全磁盘权限、需要手动解除隔离),但这并非 AppPorts 的问题,而是所有需要修改 /Applications 的开源工具的共同门槛。
推荐搭配 LazyMount 使用,体验更丝滑。
项目地址:wzh4869/AppPorts · 许可:Apache-2.0 · 🌟 1.7k Stars(截至 2026-06-17)