M1设备brew install poppler时glib下载报curl 403错误解决咨询
M1架构brew安装poppler时glib依赖403错误解决方法
无需手动预下载的绕过方案
- 临时替换brew的curl请求标识:触发该403的核心原因是,办公VPN出口IP访问GNOME官方源时,brew自带curl默认携带的Homebrew标识被源站WAF识别为爬虫拦截,而浏览器手动访问时用的是标准浏览器UA,所以可以正常下载。执行以下命令临时设置curl为浏览器UA后再安装即可,不需要关闭VPN:
export HOMEBREW_CURL_USER_AGENT="Mozilla/5.0 (Macintosh; Apple Silicon Mac OS X 13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" brew install poppler
- 切换homebrew-core为国内镜像源:如果改UA仍无法正常下载,直接将homebrew-core的源切换为国内高校镜像站,镜像站的glib资源不会对VPN出口IP做UA拦截,执行以下命令完成切换:
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git brew update brew install poppler
切源不会修改M1架构的包编译配置,安装后的程序和官方源安装版本无功能差异
手动预下载依赖后的安装流程
如果上述方案都不生效,用手动提前下载好的安装包安装按以下步骤操作即可:
- 打开brew的本地下载缓存目录,M1架构Mac的brew默认缓存路径为
~/Library/Caches/Homebrew/downloads/,可直接执行命令打开目录:
open ~/Library/Caches/Homebrew/downloads/
- 将手动下载完成的
glib-2.72.2.tar.xz原文件直接放入上述缓存目录,不要修改文件名,brew会自动根据文件名和文件哈希匹配对应依赖资源。 - 回到终端重新执行安装命令即可:
brew install poppler
校验提示:如果出现文件校验失败提示,可在缓存目录下执行
shasum -a 256 glib-2.72.2.tar.xz,将输出的哈希值和brew报错信息中给出的glib资源预期哈希值比对,二者完全一致即可正常通过校验。
内容的提问来源于stack exchange,提问作者dragonfly02
相关产品推荐
相关产品推荐

