Answers:
尽管没有像apt-search这样的工具可以让人们找到可以提供文件的公共自制软件包,但许多brew软件包都是基于linux或unix的。您可以搜索Debian软件包网站以找到所需的软件包。
查找提供文件goocanvas.pc的软件包的示例
返回libgoocanvas-dev
brew search
没有libgoocanvas-dev或libgoocanvas的结果,但确实有goocanvas软件包。
您可以使用以下命令定义ineed
如下命令,该命令将从debian.org返回列表ineed goocanvas.pc
:
ineed() {
echo -en $(echo \
$(curl -s "https://packages.debian.org/search?suite=default§ion=all&arch=any&searchon=contents&keywords=$1") \
| sed 's%</*tr>%\\n%g') \
| grep 'class="file"' \
| sed 's/<[^>]*>//g' \
| column -t \
| grep --color -i -w "$1"
}
虽然没有内置的brew
命令来搜索特定的文件,你可以使用的组合brew list
,并brew list <formula>
得到答案。这需要一段时间,但是如果您要进行一些清理,并且不得不多次回答此类查询,那么您有时可能会做我所做的事情:按包创建文件目录:
#!/bin/sh
# make a catalog of Homebrew-installed packages by package
brew list |\
while read formula; do
brew list $formula |\
while read file; do
echo -e "$formula\t$file" # need -e to expand \t
done
done
如果将此脚本的输出重定向到文件,则可以使用它搜索提供感兴趣文件的软件包。
boost
只要您使用进行配置,就会提供该文件--with-python
。仍然很高兴知道是否有一种方法可以查询哪些文件由哪些文件提供...