安装自制程序时,您偶尔会在“注意事项”部分中获得一些有用的信息,您可能想把它们藏起来。一旦在安装时显示该信息,是否有任何方法可以重播或访问该信息,或者除非您将其复制粘贴到某处,否则它会永远丢失吗?
例如
==> Caveats
To have launchd start mongodb at login:
ln -s /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents/
Then to load mongodb now:
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Or, if you don't want/need launchctl, you can just run:
mongod
如果我稍后需要的话,我可能希望能够再次看到这个和/或知道该 plist 在哪里。
tl;dr 在我安装了自制软件后,如何再次看到上面的代码片段?
brew info mongodb
将显示它。但是,如果您进行注意事项中建议的更改,则可能会出现其他更适合您实际情况的注意事项。
我为此创建了一个brew外部命令:https://github.com/rafaelgarrido/homebrew-caveats
$ brew caveats zsh
==> zsh: Caveats
Add the following to your zshrc to access the online help:
unalias run-help
autoload run-help
HELPDIR=/usr/local/share/zsh/helpfiles
您还可以传递多个公式:
$ brew caveats rabbitmq mongodb
==> rabbitmq: Caveats
Management Plugin enabled by default at http://localhost:15672
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
To have launchd start rabbitmq at login:
ln -sfv /usr/local/opt/rabbitmq/*.plist ~/Library/LaunchAgents
Then to load rabbitmq now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.rabbitmq.plist
Or, if you don't want/need launchctl, you can just run:
rabbitmq-server
==> mongodb: Caveats
To have launchd start mongodb at login:
ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
Then to load mongodb now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Or, if you don't want/need launchctl, you can just run:
mongod --config /usr/local/etc/mongod.conf
当您需要检查一些配置时非常方便!
要查看当前安装的公式的所有注意事项,您可以使用以下命令
brew info $(brew list)
您还可以使用 awk 过滤输出以仅获取警告部分。 (我是 awk 新手,欢迎提出建议或编辑)
brew info $(brew list) | awk '/^==> Caveats$/,/^[a-z][a-zA-Z0-9_+-]+: stable |^==> (Dependencies|Options)$/'
另一种可能性是使用 sed
brew info $(brew list) | sed '/==> Caveats/,/==>/!d;//d'
并有一个格式化的输出(bash)
for cmd in $(brew list); do
if brew info $cmd | grep -q Caveats; then
echo "$cmd\n";
brew info $cmd | sed '/==> Caveats/,/==>/!d;//d';
printf '%40s\n' | tr ' ' -;
fi;
done;
对于那些拥有很棒的
jq
工具的人:
# For brews
$ brew list --formula | xargs brew info --json | jq -r '.[] | select(.caveats != null) | "\n\nName: \(.name)\nCaveats: \(.caveats)"'
# For casks
$ brew list --cask | xargs brew info --cask --json=v2 | jq -r '.casks[] | select(.caveats != null) | "\n\nName: \(.name)\nCaveats: \(.caveats)"'
jq
是一个命令行 JSON 处理器。
更新并组合上面的一些答案,这是一个 bash/zsh 循环,可以将其粘贴到终端中以获取所有已安装的冲泡公式的所有警告。
for x in $(brew list --formula); do
cavs=$(brew info "$x" | sed '/==> Caveats/,/==>/!d;//d')
if [ ! -z "$cavs" ]; then
echo "$x"
echo "---"
echo "$cavs"
echo ""
fi
done