You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

brew list出现未自行安装的软件包是什么原因?如何查询对应依赖关系?

非自行安装软件包的来源

你看到的未主动安装的包均为git、node、sqlite、less四个软件的依赖项,属于Homebrew安装目标软件时自动附带安装的间接包:所有软件运行都需要依赖底层公共库,Homebrew会在安装目标软件时自动检测并安装所有缺失的必要依赖,不需要用户手动操作。比如node运行需要依赖libuv、openssl@1.1、c-ares,git运行需要依赖gettext、pcre2、ca-certificates,这些都会在你安装目标软件时自动安装到系统中。

查询依赖对应关系的方法

你可以通过以下brew命令查询依赖的对应关系:

  • 查询某款主动安装的软件依赖了哪些包:执行brew deps 软件名,例如查询node的所有依赖可运行brew deps node
  • 查询某款未知的间接包被哪些已安装软件依赖:执行brew uses --installed 包名,例如查询brotli的依赖方可运行brew uses --installed brotli
  • 一键区分主动安装包和间接依赖包:执行brew leaves,输出的结果就是你所有主动安装的软件,不在该列表内的包均为自动安装的依赖项。

仅更新主动安装软件的实现方法

Homebrew默认的brew upgrade会更新所有已安装的包(包含主动安装的软件和所有依赖),如果仅需要更新你主动安装的软件,执行以下命令即可:

brew upgrade `brew leaves`

该命令会先通过brew leaves拉取你主动安装的所有软件列表,再仅对列表内的软件执行升级操作。如果某个软件的新版本要求更高版本的依赖,升级该软件时Homebrew会自动按照规则升级对应的依赖,不需要你手动处理依赖升级逻辑,完全匹配你的需求。

内容的提问来源于stack exchange,提问作者Inigo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 09:24:09