1. ホーム
  2. macos

[解決済み] Homebrew パッケージとその依存関係をすべてアンインストール/削除する。

2022-03-23 21:03:45

質問

を持っています。 自作 をアンインストール/削除したいのですが、他のパッケージが依存しているパッケージをスキップして、すべての依存パッケージと一緒にアンインストール/削除したいのです (たとえば カスケード接続のパッケージ削除 パッケージマネージャの用語でいうところの)

などです。 パッケージのアンインストール a に依存しているパッケージ b &です。 c ここで、パッケージ d もパッケージ c . この結果は a &です。 b をスキップします。 c .

どうすればいいのでしょうか?

パッケージをアンインストールする際に、不要な ジャンク を残しています。

解決方法は?

EDITです。

以下のように表示されます。 という外部コマンドを使用することで、この問題は解決しました。 brew rmdeps または brew rmtree .

インストールおよび使用するには、以下のコマンドを実行します。

$ brew tap beeftornado/rmtree
$ brew rmtree <package>

詳細および考察については、上記リンクを参照してください。


[EDIT] 新しいコマンドを見る brew autoremove https://stackoverflow.com/a/66719581/160968


オリジナルの回答です。

現状では、簡単に実現する方法はないようです。

しかし、私は Homebrew の GitHub ページに issue を提出しました。 そして、誰かがこれを解決するための専用コマンドを追加するまでの一時的な解決策を提案しました。

また 外部コマンド という brew leaves これは、他のパッケージの依存関係にないすべてのパッケージを表示します。

もし、論理的な の出力に brew leavesbrew deps <package> を実行すると、孤立した依存パッケージのリストが表示され、後で手動でアンインストールすることができるかもしれません。これを xargs で、必要なものが得られると思います(未検証、当てにしないでください)。


EDITです。 非常によく似た解決策を提案された方がいます。 join の代わりに xargs :

brew rm FORMULA
brew rm $(join <(brew leaves) <(brew deps FORMULA))


をご覧ください。 上記の問題についてのコメント をご覧ください。