66

自作レシピをインストールするとき、あなたは時々あなたがあなたの帽子の下に押し込みたいかもしれない「警告」セクションでいくつかの有用な情報を得るでしょう。インストール時に表示された後、この情報を再生またはアクセスする方法はありますか、それともどこかにコピーして貼り付けない限り、永久に失われますか?

例えば

==> 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自作から何かをインストールした後、上記のスニペットを再び表示するにはどうすればよいですか?

4

6 に答える 6

84

brew info mongodb表示されます。ただし、警告によって提案された変更を行うと、実際の状況により適した他の警告が表示される場合があります。

于 2012-11-11T18:03:05.487 に答える
17

そのための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

いくつかの設定を確認する必要がある場合に非常に便利です!

于 2015-05-22T06:42:06.563 に答える
10

現在インストールされている数式のすべての警告を表示するには、次のコマンドを使用できます

brew info $(brew list)

awkを使用して出力をフィルタリングし、警告セクションのみを取得することもできます。(私はawk初心者の提案や編集を歓迎します)

brew info $(brew list) | awk '/^==> Caveats$/,/^[a-z][a-zA-Z0-9_+-]+: stable |^==> (Dependencies|Options)$/'
于 2013-10-02T13:43:15.153 に答える
5

別の可能性は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;
于 2016-05-25T18:46:54.557 に答える
0

素晴らしいjqツールをお持ちの方へ:

# For brews
$ brew info --json $(brew list) | jq -r '.[] | select(.caveats != null) | "\n\nName: \(.name)\nCaveats: \(.caveats)"'

# For casks
$ brew cask --json=v1 info $(brew cask list) | jq -r '.[] | select(.caveats != null) | "\n\nName: \(.name)\nCaveats: \(.caveats)"'

jqコマンドラインJSONプロセッサです。

于 2020-05-26T13:03:35.557 に答える
0

上記のいくつかの回答を更新して組み合わせると、これが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
于 2021-01-27T05:08:36.233 に答える