了解homebrew和keg-only依赖项

cga*_*gat 111 homebrew

我最近开始使用自制软件,而且当我在我的系统上酿造一些东西时会发生什么事情我感到有点困惑,但是它的酿造依赖关系只是keg-only,这意味着它们被链接在一起/usr/local.

例如,我正在安装vips(图像处理库).它的众多依赖之一是pixman.Pixman仅作为keg安装,因为显然Mac OSX(在这种情况下是Snow Leopard)已经附带它(或它的一个版本).

这是否意味着vips将使用pixman的系统版本?如果是这样,是否存在与使用系统版本而不是依赖版本相关的潜在版本问题(假设它们不同)?

ech*_*son 185

对于软件是"桶只"意味着它是安装在/usr/local/Cellar,但没有挂入像的地方/usr/local/bin,/usr/local/lib等等.这意味着,取决于它与使用中的文件的具体指示编译其他软件/usr/local/Cellar.brew install当公式指定仅限keg的依赖项时,这会自动完成.

指定仅keg依赖项的公式确保不使用等效的系统库.您的vips安装与pixman的特定版本相关联/usr/local/Cellar/pixman/<version>,因此它不受pixman的系统版本或您可能安装的任何其他Homebrew版本的pixman的影响.

  • 很好的解释!您经常可以使用`otool -L/usr/local/Cellar/vips/???/lib/*.dylib`查看它与其链接的其他库. (9认同)