【问题标题】:`brew list` shows many things I did not install. Why? If something installed depends on them, how do I know?`brew list` 显示了很多我没有安装的东西。为什么?如果安装的东西取决于他们,我怎么知道?
【发布时间】:2021-12-27 20:37:39
【问题描述】:

在一台新机器上,我使用 brew 只安装了四个东西:gitnodesqliteless。后来,当我运行brew update 时,有人告诉我许多其他我没有安装的东西都是“过时的”。我跑了brew list,得到了以下信息:

brotli              less               pcre2
c-ares              libnghttp2         python@3.9
ca-certificates     libuv              readline
gdbm                mpdecimal          sqlite
gettext             ncurses            xz
git                 node
icu4c               openssl@1.1

这些是从哪里来的?如果安装它们是因为 gitnodeless 需要它们,我该如何查找?

【问题讨论】:

    标签: macos homebrew package-managers


    【解决方案1】:

    是的,Homebrew(又名 brew)与所有包管理器一样,会自动安装依赖项。这是一个递归过程:如果依赖本身有依赖,brew也会安装它们,以此类推。

    brew deps

    您可以使用brew deps 命令查看您安装的任何内容的依赖关系树:

    > brew deps node --tree
    
    node
    ├── brotli
    ├── c-ares
    ├── icu4c
    ├── libnghttp2
    ├── libuv
    ├── openssl@1.1
    │   └── ca-certificates
    └── python@3.9
        ├── gdbm
        ├── mpdecimal
        ├── openssl@1.1
        │   └── ca-certificates
        ├── readline
        ├── sqlite
        │   └── readline
        └── xz
    

    您可以在这棵树中看到您在 brew list 中看到的许多内容。

    brew uses

    但要回答您的问题,您可以使用brew uses 命令从相反的方向进行:

    > brew uses readline --installed
    
    node            python@3.9            sqlite
    

    --installed 标志很重要,因为如果没有它,上述命令将列出使用readline所有内容,无论它是否安装在您的系统上。还要注意brew uses 是如何递归的(与brew deps 方向相反),显示直接使用readlinepython@3.9 和间接使用它的node

    brew desc

    现在,如果您对这些已安装的依赖项的作用感到好奇,请使用 brew desc 命令:

    > brew desc pcre2
    
    pcre2: Perl compatible regular expressions library with a new API
    

    brew leaves

    顺便说一句,如果您只想要您具体安装的简短列表,请使用brew leaves。 Brew 会跟踪 安装的内容,以便在您使用 brew upgrade 等命令时知道要(递归地)为您管理哪些内容。

    > brew leaves
    
    git
    less
    node
    sqlite
    

    【讨论】:

      猜你喜欢
      • 2013-10-31
      • 1970-01-01
      • 1970-01-01
      • 2012-09-11
      • 1970-01-01
      • 1970-01-01
      • 2021-05-02
      • 1970-01-01
      • 2021-09-08
      相关资源
      最近更新 更多