1. ホーム
  2. homebrew

[解決済み] 自作とkeg-onlyの依存関係を理解する

2022-05-15 01:11:22

質問

最近 homebrew を使い始めたのですが、自分のシステムで何かを醸造したときに何が起こるのか、少し混乱しています。 /usr/local .

例えば、私はvips(画像処理ライブラリ)をインストールしています。その多くの依存関係の 1 つが pixman です。Pixman は、Mac OSX (この場合は Snow Leopard) にすでに同梱されている (またはそのバージョン) ため、keg-only でインストールされます。

これは、vips がシステム バージョンの pixman を使用するということでしょうか。もしそうなら、依存バージョンではなくシステムバージョンを使用することに関連する潜在的なバージョン管理の問題があるのではないでしょうか (それらが異なると仮定して)?

どのように解決するのですか?

keg-onlyのソフトウェアとは、以下の場所にインストールされます。 /usr/local/Cellar にインストールされますが ではなく のような場所にリンクされています。 /usr/local/bin , /usr/local/lib など。つまり、これに依存する他のソフトウエアが /usr/local/Cellar . それは、自動的に brew install によって自動的に行われます。

keg-onlyの依存関係を指定する数式は、同等のシステムライブラリが使用されないことを確認します。あなたのインストールしたvipsは、特定のバージョンのpixmanに対して /usr/local/Cellar/pixman/<version> にある特定のバージョンの pixman に対してリンクされているので、システムバージョンの pixman や他の Homebrew バージョンの pixman の影響を受けません。