Clash Verge Rev 在 macOS 上提示软件包损坏怎么办
在 Mac 上升级 Clash Verge Rev 之后,新版打不开、旧版也坏了,系统提示软件包损坏。这页先说清这个问题是怎么来的,再给出文档站卸载页里的清理命令,收尾讲重新安装时该注意的两件事。
软件包损坏的原因:旧版运行中装了新版
文档站给的原因只有一条:现有 Verge 正在运行时,尝试安装新版本,导致两个都损坏。
这和下载中断、安装包被篡改不是一回事。很多人看到「损坏」两个字,第一反应是重新下载一次再装,结果还是坏的。原因在于旧版本的进程和后台服务还占着文件,新版本覆盖进去之后,两套文件混在了一起。
判断是不是这个问题,回忆一下出错之前的操作就够了:菜单栏里还挂着 Clash Verge Rev 的图标,你直接双击了新下载的安装包,把应用拖进「应用程序」文件夹并选择了替换。符合这个顺序,基本就是这一条。
文档站给的处理:卸载并删除相关文件后重装
macOS 常见问题页的原话是「用lemon卸载和删除相关文件,再重新安装」。
lemon 具体指哪款卸载工具,文档没有展开。如果你手头没有这个工具,可以照卸载页的命令自己清,效果是一样的思路:把应用、后台服务和残留目录都去掉,再装一个干净的版本。
手动清理第一步:停掉并卸载后台服务
卸载页给了两种处理服务的方法,任选一种即可。
方法一是用 launchctl 停服务、卸载服务定义:
sudo launchctl stop io.github.clash-verge-rev.clash-verge-rev.service
sudo launchctl unload /Library/LaunchDaemons/io.github.clash-verge-rev.clash-verge-rev.service.plist方法二是调用应用包里自带的卸载脚本:
sudo /Applications/Clash\ Verge.app/Contents/Resources/resources/uninstall-service方法二要求应用包还在原位置。如果应用已经被你拖进废纸篓,用方法一。
手动清理第二步:删除 tun 服务文件夹
这一步卸载页标了重要提示,要求一定删除,否则后续安装其他版本时会出问题。
sudo rm -rf /Library/PrivilegedHelperTools/io.github.clash-verge-rev.clash-verge-rev.service.bundle这个文件夹属于 tun 服务。新旧版本混装后,它很可能是一半旧一半新的状态,留着它再装新版,服务那一侧依然可能报错。
手动清理第三步:缓存与配置目录怎么处理
缓存可以放心清,配置和订阅要先备份再决定删不删。
卸载页列出的 macOS 相关目录如下:
| 目录或文件 | 用途 | 处理建议 |
|---|---|---|
~/Library/Caches/io.github.clash-verge-rev.clash-verge-rev | WebView 缓存 | 卸载页写明强烈建议每次升级后清空 |
~/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev/verge.yaml | 客户端配置文件 | 想保留设置就先拷出来 |
~/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev/profiles/ | 订阅文件目录 | 删除前先备份,或者记好订阅链接以后重新导入 |
~/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev/.window-state.json | 窗口状态 | 可以删 |
我的做法是:Caches 整个清掉,Application Support 目录先整体复制到桌面再删除。新版装好确认能打开之后,再按需把 profiles 拷回去,或者干脆在客户端里重新导入订阅。重新导入以后怎么确认订阅真的能用,按当晚三步验收法走一遍即可。
重新安装:先看系统版本和芯片
下载与安装页写明支持 MacOS 12 及以上系统,安装包分 Intel 芯片与 Apple M 芯片两种。
下载前先确认自己这台 Mac 是 Intel 还是 M 系列芯片、系统是不是 12 以上。两种安装包按芯片区分,重装时别拿错,免得又多出一个变量。客户端下载渠道和版本现状,可以参考 Clash 客户端下载现状。
装完之后第一次打开,如果客户端提示需要安装服务,按提示装即可。卸载页提到,手动安装服务后需要重启 app 才能看到界面变化,不要装完服务就以为没生效。手动安装服务的命令是:
sudo /Applications/Clash\ Verge.app/Contents/Resources/resources/install-service以后升级的顺序
既然原因是「运行中安装」,升级时把顺序换过来就能避开:先在菜单栏把程序关掉,确认进程已经结束,再安装新版本,装完清一次 WebView 缓存。
还是打不开怎么办
清理和重装都做了还是报损坏,就把系统版本、芯片类型、安装包文件名和弹窗截图整理好,先在项目仓库的问题列表里找同类报告,找不到再提交。订阅能导入、节点却不通,那是另一回事,见订阅失效时的排查顺序。
常见问题
软件包损坏是下载的文件坏了吗?
文档站给的原因不是下载问题,而是现有 Verge 正在运行时去安装新版本,导致新旧两个都损坏。所以重新下载一遍同样的安装包往往不解决,要先把旧的卸干净。
文档里说的 lemon 是什么?
文档原文只写了「用lemon卸载和删除相关文件」,没有说明 lemon 是哪款工具、从哪里获取。不想装额外工具的话,可以按卸载页给的命令手动停服务、删文件夹。
删 PrivilegedHelperTools 里那个文件夹有必要吗?
卸载页把它标成重要提示:为确保后续安装其他版本时不出问题,要删除 io.github.clash-verge-rev.clash-verge-rev.service.bundle 这个文件夹。它是 tun 服务的文件夹,残留下来容易让新版本的服务装不上。
订阅会不会跟着一起被删掉?
订阅文件在 Application Support 下的 profiles 目录,配置在同目录的 verge.yaml。只清 Caches 缓存目录不会动它们;如果连 Application Support 整个目录都删,订阅就没了,删之前先拷一份出来。
Intel 和 M 芯片的安装包能混用吗?
下载与安装页把 macOS 安装包分成 Intel 芯片与 Apple M 芯片两种,按自己机器的芯片选。系统要求是 MacOS 12 及以上,版本太老的系统不在支持范围内。
以后升级怎么避免再损坏?
按文档站说的原因反推,升级前先退出正在运行的 Clash Verge Rev,再安装新版本。卸载页还建议每次升级后清空 WebView 缓存目录。