Telegram 从美区 Mac App Store 下架了。如果你之前用的是 App Store 版本,现在会发现没法更新,甚至重新下载都找不到入口。
我今天折腾了一圈,把能踩的坑都踩了。brew 装不上、DMG 拖不进去、装完打开没反应——三连暴击。这篇文章记录完整的解决过程,希望你别再走弯路。
聊天记录不会丢,放心删
很多人不敢卸载旧版本,怕聊天记录没了。
Telegram 的聊天数据全部存在云端,跟本地 app 没有关系。你把两个版本都删掉,重装后登录同一个账号,所有对话原封不动地回来。
唯一的例外是 Secret Chat(秘密聊天)。这个功能是端到端加密,数据只存在本地设备上。删掉 app,秘密聊天的记录就没了。普通聊天不受影响。
brew install 报 checksum 错误
第一反应是用 Homebrew 装:
brew install --cask telegram
结果报错:
Error: Cask reports different checksum: 571c5c28...
SHA-256 checksum of downloaded file: efd3b3a4...
原因很简单:Telegram 官方更新了安装包,但 Homebrew 的 cask 定义还没跟上,sha256 对不上。
你可能会想用 --force 跳过,但 --force 不跳 checksum 校验,没用。--no-quarantine 也被 brew 禁用了。
如果你一定要用 brew 装,手动改 cask 定义里的 sha256:
brew edit telegram --cask
# 找到 sha256 那行,替换成实际下载文件的 hash
# sha256 "efd3b3a40e6b9bec521dbfda7ab1cb3e7d0557c96f76b33776124be087a986cd"
brew install --cask telegram
但我不推荐这么做。直接从官网下载 DMG 更省事。
DMG 安装提示"必须跳过某些项目"
从 telegram.org 下载 DMG,挂载后把 Telegram.app 拖到 Applications,弹出一个报错:
无法完成此操作,因为必须跳过某些项目。在每个项目下,选取"文件">"显示简介",确保取消选择"锁定",然后检查"共享与权限"部分。
这是因为旧版 Telegram.app 还残留在 /Applications 目录里,而且文件被 macOS 锁定了。
解决方法:
# 解除文件锁定
sudo chflags -R nouchg /Applications/Telegram.app
# 删掉旧版本
sudo rm -rf /Applications/Telegram.app
删干净之后,再拖进去就不会报错了。
装完打开没反应
DMG 安装成功,双击打开 Telegram,扫码登录,手机端提示登录成功了,但 Mac 端毫无反应。窗口不弹出来,就像什么都没发生。
查了一下进程:
ps aux | grep Telegram
发现 Telegram 跑在一个奇怪的路径下:
/private/var/folders/.../AppTranslocation/.../Telegram.app/Contents/MacOS/Telegram
这是 macOS 的 App Translocation 机制。从互联网下载的 app 带有 quarantine 标记,macOS 会把它"转移"到一个临时沙盒目录运行,导致各种功能异常。
修复:
# 杀掉当前进程
killall Telegram
# 清除 quarantine 标记
xattr -dr com.apple.quarantine /Applications/Telegram.app
# 重新打开
open /Applications/Telegram.app
清除标记后,Telegram 会从 /Applications/Telegram.app 正常启动,登录状态也恢复正常。
一键搞定的完整流程
如果你现在就要装,按这个顺序来:
# 1. 清理旧版本(如果还在的话)
sudo chflags -R nouchg /Applications/Telegram.app 2>/dev/null
sudo rm -rf /Applications/Telegram.app
# 2. 清理 brew 残留(如果之前用 brew 装过)
brew uninstall --cask telegram 2>/dev/null
# 3. 下载官方 DMG
curl -L -o ~/Downloads/Telegram.dmg "https://telegram.org/dl/macos"
# 4. 挂载、安装、卸载镜像
hdiutil attach ~/Downloads/Telegram.dmg -nobrowse -quiet
cp -R "/Volumes/Telegram/Telegram.app" /Applications/
hdiutil detach "/Volumes/Telegram" -quiet
# 5. 清除 quarantine 标记
xattr -dr com.apple.quarantine /Applications/Telegram.app
# 6. 清理下载文件
rm ~/Downloads/Telegram.dmg
# 7. 打开
open /Applications/Telegram.app
手机扫码登录,聊天记录自动同步。
App Store 版和官网版有什么区别
功能上几乎没有差异。官网版(也叫 Direct 版)反而更新更快,因为不需要经过 Apple 审核。App Store 版受沙盒限制,部分功能(比如自动启动、某些通知行为)会有细微差异。
从 App Store 下架这件事来看,以后直接用官网版可能是更稳妥的选择。至少不用担心哪天突然没法更新了。