【问题标题】:List all files in a homebrew package列出自制软件包中的所有文件
【发布时间】:2013-10-01 09:23:26
【问题描述】:

如何让homebrew 列出为一个包安装的所有文件?例如,当我为 exim 包运行 brew list 时,我得到了这些文件:

$ brew list exim
/usr/local/Cellar/exim/4.80.1/bin/exiwhat
/usr/local/Cellar/exim/4.80.1/bin/exiqsumm
/usr/local/Cellar/exim/4.80.1/bin/exiqgrep
/usr/local/Cellar/exim/4.80.1/bin/exipick
/usr/local/Cellar/exim/4.80.1/bin/exinext
/usr/local/Cellar/exim/4.80.1/bin/eximstats
/usr/local/Cellar/exim/4.80.1/bin/exim_tidydb
/usr/local/Cellar/exim/4.80.1/bin/exim_lock
/usr/local/Cellar/exim/4.80.1/bin/exim_fixdb
/usr/local/Cellar/exim/4.80.1/bin/exim_dumpdb
/usr/local/Cellar/exim/4.80.1/bin/exim_dbmbuild
/usr/local/Cellar/exim/4.80.1/bin/exim_ctl
/usr/local/Cellar/exim/4.80.1/bin/exim_checkaccess
/usr/local/Cellar/exim/4.80.1/bin/exim-4.80.1-3
/usr/local/Cellar/exim/4.80.1/bin/exim
/usr/local/Cellar/exim/4.80.1/bin/exigrep
/usr/local/Cellar/exim/4.80.1/bin/exicyclog
/usr/local/Cellar/exim/4.80.1/share/man/man8/exim.8

但是有一些文件不在上面的列表中。例如:

$ ls -ld /usr/local/etc/exim.conf 
-rw-r--r--  1 hanxue  admin  35904 Sep 25 21:11 /usr/local/etc/exim.conf

【问题讨论】:

    标签: macos osx-snow-leopard homebrew


    【解决方案1】:

    如果有问题的软件包是 cask 安装(例如 mactex),那么您需要将 --cask arg 包含到 list/ls 命令中,例如

    brew ls --cask exim
    

    注意:如果您不包含 --cask 参数,则使用木桶时,它通常会报告错误。使用 --cask 参数,它可能只列出安装程序 dmg,因为它似乎不跟踪生成的安装文件。

    【讨论】:

      【解决方案2】:

      只需添加-v--verbose,例如:

      $ brew ls --verbose exim
      

      【讨论】:

      • 虽然递归到已安装目录并列出它们包含的所有文件,但它没有在原始帖子中列出 exim.conf 文件。它由 brew install 操作添加。
      • @MSpreij MacPorts 实际上没有这个问题,因为它会在将要安装的所有文件移动到最终目的地之前对其进行跟踪。 Homebrew 根本不这样做,所以/usr/local/etc 和其他地方的配置文件会保留下来,除非手动删除它们。 Homebrew 只关心程序本身,而不是程序留下的设置或其他残余。 Here is a section from the MacPorts documentation explaining how they avoid this problem.
      猜你喜欢
      • 2014-05-01
      • 2021-01-21
      • 1970-01-01
      • 1970-01-01
      • 2020-01-11
      • 1970-01-01
      • 2016-02-16
      • 1970-01-01
      • 2019-08-06
      相关资源
      最近更新 更多