Mac终端执行`brew doctor`报`openssl@1.1`警告

发现问题

Mac(M1)终端安装HomeBrew后,执行brew doctor报警告:

zsh 复制代码
lndu@iMac ~ % brew doctor

Please note that these warnings are just used to help the Homebrew maintainers

with debugging if you file an issue. If everything you use Homebrew for is

working fine: please don't worry or file an issue; just ignore this. Thanks!

  


Warning: Some installed formulae are deprecated or disabled.

You should find replacements for the following formulae:

  openssl@1.1
lndu@iMac ~ %

分析上述警告信息,Homebrew 提示 openssl@1.1 被弃用或禁用,主要是因为 macOS 系统自身已经提供了 LibreSSL,而 Homebrew 的 openssl@1.1 是"keg-only"的,这意味着它不会被默认链接到系统路径中以避免冲突。

使用已弃用的软件包,暂时可能不影响使用,但从长期来看,存在安全风险或兼容性问题,还是有必要升级一下openssl版本。

PS:弃用库的原因通常有:

  • 上游项目不再维护
  • 存在未修复的安全漏洞,例如 CVE
  • 发布了新版本,例如opensslopenssl@3
  • 有了更好的替代方案

解决问题

整体思路是:优先迁移到新的openssl版本,如果暂时无法迁移(例如需要使用依赖openssl@1.1的特定库),作为临时方案,为旧版本设置正确的环境变量。

【长期方案】升级openssl版本

Step0 检查依赖关系

通过下面命令,找出依赖于openssl@1.1的库,并记录下来,后面可能需要重新安装它们。

zsh 复制代码
brew deps --tree openssl@1.1
Step1 搜索新版本
zsh 复制代码
brew search openssl
Setp2 安装新版本

选择一个新版本安装,例如

zsh 复制代码
brew install openssl

zsh 复制代码
brew install openssl@3.0
Setp3 重新安装依赖软件

还记得Step0中记录下来的那些依赖软件吗?重新安装它们,HomeBrew通常会尝试自动为她们使用最新的依赖关系。

zsh 复制代码
brew install ca-certificates
Step4 完成✅

最后别忘了再运行一下HomeBrew检查脚本

zsh 复制代码
brew doctor

【临时方案】设置环境变量

为了确保使用 openssl@1.1 的软件能找到它(因为"keg-only"),需要手动在 shell 配置文件(如 ~/.zshrc)中设置相关环境变量。

Step0 设置环境变量

针对 Apple Silicon Mac,依次执行:

zsh 复制代码
export PATH="/opt/homebrew/opt/openssl@1.1/bin:$PATH" # 将 OpenSSL 1.1 的二进制文件加入 PATH
export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib" # 链接器查找库的路径
export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include" # 编译器查找头文件的路径
export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig" # pkg-config 查找 .pc 文件的路径

针对 Intel Mac ,对应的路径通常为 /usr/local/opt/openssl@1.1

Step1 加载使配置生效
zsh 复制代码
source ~/.zshrc

最终目标:卸载openssl@1.1

当确定所有软件都不再依赖 openssl@1.1 后,卸载它以消除brew doctor检查的警告。

zsh 复制代码
brew uninstall openssl@1.1
相关推荐
hanjq_code3 小时前
Mac电脑ROG键盘蓝牙模式下 Caps Lock 键无法切换语言的解决办法
mac
A懿轩A1 天前
【2026 最新】JDK 下载与安装:在 macOS 下使用 Homebrew 和 jenv 完美管理多版本 JDK
java·开发语言·jdk·mac
A懿轩A2 天前
【2026 最新】Python 下载与安装:在 macOS 下使用 Homebrew 和 pyenv 完美管理多版本 Python
python·macos·mac
叹一曲当时只道是寻常3 天前
Xcode 接入智谱 GLM Coding Plan 报错解决方案
ai·xcode
HashFlag3 天前
Git经典锁报错问题
linux·windows·git·mac
zhensherlock4 天前
Protocol Launcher 系列:Agenda 优雅组织你的想法与日程
javascript·macos·ios·typescript·node.js·mac·ipad
Lucas_coding6 天前
【语音相关】FunASR 实时流式语音识别之paraformer-zh-streaming
人工智能·语音识别·xcode
GameTomato7 天前
【Xcode】【资源创建失败】【XCode更新最新版】XCode更新最新版,创建资源文件夹一直读取不到的问题
ide·macos·xcode
一招定胜负8 天前
智慧课堂项目面试复习资料
ide·macos·xcode
2501_915106328 天前
不依赖 Xcode 的 iOS 编译器,kxapp 中 kxbuild 工具详解
ide·vscode·ios·cocoa·个人开发·xcode·敏捷流程