【问题标题】:Easy way to have Homebrew list all package dependencies让 Homebrew 列出所有包依赖项的简单方法
【发布时间】:2017-04-23 03:03:22
【问题描述】:

是否有命令brew 显示任何给定包的所有已安装或可选依赖项?查看哪些安装包本身是其他包的依赖项也很有帮助。

【问题讨论】:

    标签: homebrew dependency-management


    【解决方案1】:

    你可以使用 info 命令。

    brew info ffmpeg
    

    它将向您显示公式的信息和依赖关系。此外,它会显示该软件包是否在其名称后打勾。

    【讨论】:

    • 是否无法同时查看哪些软件包取决于您获取信息的安装?
    • @OliverDechant 你想要brew uses --installed {formula}
    【解决方案2】:
    brew deps --tree --installed
    

    感谢rob-kovacs 建议添加--tree

    详情请参阅这篇超级有用的文章:https://blog.jpalardy.com/posts/untangling-your-homebrew-dependencies/ 特别是如果您对创建依赖关系树图感兴趣。

    【讨论】:

    • 只检查一个包,例如brew deps --tree --installed vim.
    【解决方案3】:

    我发现brew deps --tree 开关对于仅在命令行中可视化依赖项也很有帮助。来自官方文档:

    brew deps --tree [--1] [filters] [--annotate] (formulae|--installed):
    Show dependencies as a tree. When given multiple formula arguments, output
    individual trees for every formula.
    

    示例 1:

    brew deps --tree fontconfig
    

    输出1:

    fontconfig
    └── freetype
        └── libpng
    

    示例2:

    brew deps --tree --1 fontconfig
    

    输出2:

    fontconfig
    └── freetype
    

    还有更多开关解释:

    brew help deps
    

    【讨论】:

      【解决方案4】:

      这是一个命令,它将列出不依赖于任何其他公式(叶子)的所有公式,并为每个公式列出其所有依赖项。

      示例输出行:

      awscli: gdbm readline sqlite tcl-tk xz
      

      命令:

      brew leaves | xargs brew deps --installed --for-each | sed "s/^.*:/$(tput setaf 4)&$(tput sgr0)/"
      

      【讨论】:

        【解决方案5】:

        命令:

        brew deps --include-build --tree $(brew leaves)
        

        方便的别名:

        alias brewdeps="brew leaves | xargs brew deps --include-build --tree"
        

        这样您将获得分层打印的依赖项,并且每个包将只打印一次。

        【讨论】:

          猜你喜欢
          • 2011-11-11
          • 1970-01-01
          • 2023-03-03
          • 2011-03-10
          • 2021-03-18
          • 1970-01-01
          • 1970-01-01
          • 2016-07-31
          • 1970-01-01
          相关资源
          最近更新 更多