Homebrew依赖列表与依赖树不一致,能否安全移除python@3.9?
问题解答
一、brew deps 和 brew deps --tree 输出差异的原因
brew deps <包名>默认会列出该包的所有依赖,包括构建依赖(build dependencies)和运行依赖(runtime dependencies)。python@3.9是cairo和libass在编译构建阶段需要的工具,所以会被包含在这个列表里。brew deps --tree <包名>默认只展示运行依赖——也就是包运行时必须存在的依赖。cairo和libass编译完成后,运行时不需要python@3.9,所以依赖树里不会显示它。- Homebrew官网的包文档通常只标注运行依赖,这也是官网没把python@3.9列为cairo/libass依赖的原因。
二、是否可以安全移除python@3.9
完全可以安全移除,理由如下:
- cairo和libass已经完成编译安装,它们的构建依赖(python@3.9)在编译完成后就不再被需要了,不会影响已安装包的运行。
- 你并不直接使用cairo和libass,它们只是ffmpeg的依赖,只要ffmpeg能正常运行就没问题。
操作步骤
执行强制卸载命令:
brew uninstall --ignore-dependencies python@3.9
验证(可选)
卸载后可以简单验证相关工具是否正常工作:
- 检查ffmpeg:
ffmpeg -version - 检查cairo:
cairo-trace --version - 检查libass:
assemble --version(无该工具可忽略)
内容的提问来源于stack exchange,提问作者coder.html
相关产品推荐
相关产品推荐

