升级Mac到Big Sur后安装VSCode扩展报错:ZIP损坏未找到中央目录记录签名
故障排查与解决方向
报错核心原因
Corrupt ZIP: end of central directory record signature not found本质是VS Code读取的ZIP文件不合法,不存在有效的压缩包结束标记,可按以下方向逐一排查:
- 验证下载的VSIX文件完整性
你提到手动下载的扩展包大小正常,但仍需确认文件本身是否为合法ZIP格式:在终端执行命令unzip -t 你下载的扩展包路径.vsix,如果返回校验失败,说明文件实际已被篡改,和代理或下载链路有关。 - 排查企业透明代理的SSL证书信任问题
升级Big Sur后,系统根证书的信任策略发生了变更,企业透明代理用于替换HTTPS证书的自定义根证书,可能从「信任」变为「未信任」状态。此时你下载的VSIX实际是代理返回的错误页、拦截提示页,只是后缀名保持为vsix,大小可能和正常包接近但内容完全不符。你可以打开钥匙串访问,检查企业代理的根证书是否已在系统级勾选「始终信任」。 - 清理VS Code缓存目录并修复权限
Big Sur升级后会重置部分用户目录的访问权限,可能导致VS Code的缓存目录写入异常,下载的扩展包被截断。先完全退出VS Code,执行以下操作:- 删除缓存目录:
rm -rf ~/Library/Caches/Code - 修复用户目录权限:右键点击个人主目录,选择「显示简介」,在「共享与权限」中确认你的用户账户拥有「读与写」权限,点击下方齿轮选择「应用到包含的项目」。
重启VS Code后重试安装。
- 删除缓存目录:
- 排查终端安全软件的拦截逻辑
升级系统后企业部署的EDR、防泄漏等终端安全软件的文件拦截规则可能失效或异常,会在VS Code写入扩展文件时静默篡改或截断内容。你可以申请临时关闭终端安全软件的文件拦截规则,再尝试安装扩展验证是否为该原因导致。 - 验证是否为当前用户配置异常
你可以在Mac上新建一个纯英文用户名的本地管理员账户,登录新账户后下载安装VS Code,尝试安装扩展。如果新账户下运行正常,说明原用户的环境变量、隐藏配置存在异常,你可以排查原用户的~/.zshrc、~/.bash_profile等配置文件中是否有和文件处理、代理相关的异常配置。 - 关闭VS Code硬件加速重试
你使用的VS Code版本基于Electron框架,部分Electron版本在Big Sur下开启硬件加速时会偶发文件读写异常。你可以通过终端启动VS Code并添加禁用参数:/Applications/Visual\ Studio\ Code.app/Contents/MacOS/Electron --disable-gpu,启动后重试安装扩展。
内容的提问来源于stack exchange,提问作者Scott Fischer
相关产品推荐
相关产品推荐

