Homebrew:インストールされているトップレベルの数式のみをリストします


102

インストールされている依存関係なしでインストールした数式のみを表示する方法を探しています。依存関係のすべてのノイズなしで、実際にインストールしたすべてのプログラムのリストが欲しいです。

brew listインストールされているすべての数式がどのリストに含まれているかはわかります。またbrew graph、依存関係グラフがgraphviz

または言い換えると、システムを再インストールするための最小限の式のセットが必要です。


brew graph??? わかりますError: Unknown command: graph。そのようなコマンドはありません。
iconoclast

brew graphこのgithub.com/martido/brew-graphにインストールできるパッケージのようです。blog.jpalardy.com
posts /

回答:


179

使用brew leaves:インストールされている別の数式の依存関係ではない、インストールされている数式を表示します。


1
ありがとう!ただし、これはmysql実際にはによってシステムで必要とされているものの、何も必要がないかのように表示されmysql-connector-c++ます。これが意図的なものであるかどうかを知っていますか(brew依存関係であるかどうかだけでなく、直接インストールされている数式を保持している場合など)。
Haralan Dobrev 2014

2
ああ、これは存在します!これはFWIWにLibrary/Homebrew/cmd/leaves.rbあり、オプション/推奨される依存関係(deps << dep.name if tab.with?(dep.name))の処理を除いて、私のソリューションが行うことと基本的に同じです。@HaralanDobrevこれは、mysqlシステムに関する動作と出力が私のソリューションと異なる理由を最も確実に説明leaves.rbしますが、好みに簡単に適応できます。
AdrianFrühwirth14年

1
素晴らしい発見。brew ls --versions $( brew leaves )brew ls --versions $( brew leaves )バージョンのダンプにも使用します。
Mike D

21
$ 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

これはあなたが求めている出力ですか?


1
ありがとう、これでうまくいきます!
Haralan Dobrev 14年

スクリプトをありがとうございますが、Denisからの回答の方が優れていることがわかりました。1)組み込みです。brew以前はそのようなコマンドを持っていませんでしたが、現在は組み込みコマンドを使用する方が良いでしょう。2)あなたのスクリプトはハンドルデュープをうまく表示します。たとえば、私がインストールしphp55た場合、それは真実ではない依存関係ではないようにhomebrew/dupes/zlib表示されzlibます。乾杯!
Haralan Dobrev 2014

なぜcut出力で使用しないのですか?ここでは1ライナーです:brew deps --installed | cut -d: -f1
mattmc3

@ mattmc3これは同じことを行わず、OPが尋ねた出力/質問に答えないためです。
エイドリアンFrühwirth19年

1
これは受け入れられる答えになるはずです。brew leaves役に立たなかった。
Danyal Aytekin

3

これは、インストールされている数式をツリーとして表示します。

brew deps --installed --tree

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.