8.3 Cask 安装问题
2 分钟阅读
cask 下载失败
用下面的命令打开 cask 官网,并亲自测试厂商的下载链接:
| |
- 如果厂商下载本身也失败:向厂商报告,或检查网络连接;
- 如果厂商发布了不同版本或 URL:提交 cask 更新。
cask 校验和不匹配
仔细阅读错误,找到下载文件,只删除那一个缓存文件并重试一次:
| |
更精准的做法是定位并删除单个缓存文件(路径可通过 brew --cache --cask <cask> 查看),然后只重试该 cask。
如果校验和仍然不一致,把 brew info <cask> 与厂商当前发行版本对照。持续不匹配通常意味着 cask 已过期,或厂商替换了既有下载文件。不要绕过校验和;携带厂商当前版本与下载链接的证据提交 cask 更新。
注意:上面
--prune=all属于全缓存清理,非必要不建议使用;官方指引只要求移除错误中指明的那一个文件。
安装 cask 时权限被拒
确认你的用户能写入所选择的应用目录,并确认 brew doctor 没有报告属主问题。需要把应用装到 /Applications 之外时,显式使用:
| |
求助别人之前,先提供失败路径的 ls -ld 输出。不要在未确认出错路径及预期属主的情况下,递归修改整个 Caskroom 或 Homebrew 前缀的所有权/权限。
声明中的应用或文件缺失
厂商可能重命名或移动了压缩包内的文件。先获取并检查压缩包,再与 cask 定义对比:
| |
确认实际文件路径后,把 cask 中对应的 artifact 描述更新为当前路径(写法参考 Cask Cookbook 的 artifact 章节),并提交 cask 更新。
cask 应用升级后丢 Dock 位置或权限
这是 Homebrew 的更新策略与 macOS 权限共同作用的结果。解决方法是让运行 Homebrew 的终端获得“App 管理”或“完全磁盘访问权限”,使 Homebrew 能采用原地替换(in-place)升级策略。完整解释见 5.2 自更新应用、–greedy 与 –adopt。
需要记住的三件事
- cask 校验和、Gatekeeper 与签名检查都是安全边界,不要为了“装上”而关闭;
- 排查先从单文件、单缓存开始,不要对整个前缀做破坏性操作;
- 找不到原因时,按 8.1 排查清单 收集
brew config、brew doctor与完整日志后到 Homebrew/homebrew-cask 上报。