我正在寻找一种只显示我安装的公式而没有安装依赖项的方法。 我希望有一个我实际安装的所有程序的列表,没有依赖项的所有噪音。
我知道列出所有已安装公式的brew list
。
我也知道brew graph
在graphviz
或换句话说:我希望使用最小的公式来重新安装我的系统。
答案 0 :(得分:144)
使用brew leaves
:显示已安装的公式,这些公式不是另一个已安装公式的依赖项。
答案 1 :(得分:20)
$ brew deps --installed
tmux: pkg-config libevent
q:
gdbm:
libxml2:
asciidoc: docbook
libevent:
pkg-config:
pcre:
docbook:
zsh: gdbm pcre
readline:
emacs: pkg-config
这似乎为我们提供了所有已安装公式的列表,包括它们的依赖项。我们可以构建所有公式的列表和所有依赖项的列表,并从公式列表中减去依赖项,这应该给我们一个公式列表,这些公式不是其他公式的依赖项:
$ cat brew-root-formulae.sh
#!/bin/sh
brew deps --installed | \
awk -F'[: ]+' \
'{
packages[$1]++
for (i = 2; i <= NF; i++)
dependencies[$i]++
}
END {
for (package in packages)
if (!(package in dependencies))
print package
}'
$ ./brew-root-formulae.sh
zsh
asciidoc
libxml2
readline
tmux
q
emacs
这是你想要的输出吗?
答案 2 :(得分:2)
这会将已安装的公式显示为树。
酿造部门-已安装--tree
答案 3 :(得分:1)
这个问题很老了,但实际上只有 this 答案可以解决问题。但是,这更像是一种解决方法。但是 ReactDOM.render(
<Router history={history} >
<Provider store={store}>
<ReactReduxFirebaseProvider {...rrfProps}>
<App />
</ReactReduxFirebaseProvider>
</Provider>
</Router>,
document.getElementById('root')
);
中还有一种现成可用的解决方案:
brew
来自文档:
brew bundle dump --file -
和标志:
brew bundle dump:
Write all installed casks/formulae/images/taps into a Brewfile in the
current directory.
因此我们得到例如:
--file
Read the Brewfile from this location.
Use --file=- to pipe to stdin/stdout.
如果你例如需要一个纯粹的公式和木桶列表,没有水龙头,你可以直接运行:
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/cask-fonts"
tap "homebrew/core"
tap "homebrew/services"
tap "jesseduffield/lazydocker"
tap "jesseduffield/lazygit"
brew "lazydocker"
brew "lazygit"
cask "font-sauce-code-pro-nerd-font"
并得到:
brew bundle dump --file - | grep '^brew\|^cask' | sed 's/.* "\(.*\)".*$/\1/'
附言如果您确实将输出保存到文件中(使用 lazydocker
lazygit
font-sauce-code-pro-nerd-font
或 brew bundle dump
),您可以使用 brew bundle dump --file PATH_TO_FILE
轻松安装所有依赖项:
brew bundle install