Brew doctor:dyld:库未加载和错误:zlib没有可用的配方

43

当我运行brew doctor时,我会得到以下错误:

dyld: Library not loaded: /usr/lib/libltdl.7.dylib
  Referenced from: /usr/local/bin/php
  Reason: image not found
Error: No available formula for zlib

我的 /usr/lib 目录中没有 libltdl.7.dylib 文件,但有其他几个 .dylib 文件。

我正在运行 10.8.1 版本,并安装了最新版本的 Xcode (4.4.1) 和它的 Command Line Tools。

有任何想法如何解决这些错误吗?


我完全从brew中移除了php,然后执行了brew clean,然后重新安装,问题就解决了。楼主在这里谈论的是PHP,而下面很多人的回答与PHP错误无关,而是与brew错误有关。只需移除与你的问题相关的所有内容,然后执行"brew clean",重新安装所有内容,一切都会正常工作。 - undefined
14个回答

47

尝试通过以下方式重新安装libtool:

brew reinstall libtool --universal && brew unlink libtool && brew link libtool
如果这不起作用,请完全删除libtool,然后重试上述步骤:

如果这不起作用,请完全删除libtool,然后重试上述步骤:

brew uninstall libtool
如果尝试上述步骤后仍无法解决问题,请检查系统中是否定义了DYLD_FALLBACK_LIBRARY_PATH变量(例如在~/.profile文件中),并在再次尝试上述步骤之前尝试取消设置该变量。
其他可能有用于确定问题的命令:
$ libtool --version
$ whereis libtool
$ set | grep DYLD_FALLBACK_LIBRARY_PATH
$ echo $DYLD_FALLBACK_LIBRARY_PATH

4
我不得不执行 brew uninstall libtool 然后运行你的命令,一切都恢复正常了。 - Pavel Nikolov
对上面的评论(和答案)点个赞。我也不得不卸载我的问题包,然后通过提供的答案重新安装。 - Simon Whitehead
当我尝试查找libtool的版本时,出现了一个问题:错误:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool:未知选项字符“-”在:--version中......我的Xcode版本是7.3.0。 - Kun
6
我在 Sierra 10.12.4 上成功运行了该命令,没有使用 --universal 参数。 - Randy Lam

11

如果您遇到了关于pcre的错误,例如:

dyld: Library not loaded: /usr/local/opt/pcre/lib/libpcre.1.dylib
  Referenced from: /usr/local/Cellar/watchman/4.7.0/libexec/bin/watchman
  Reason: image not found
Abort trap: 6

你需要链接pcre。

brew link --overwrite pcre

这正是我想要的。谢谢Diego。 - Yoshi
或者只需运行 brew install pcre - Andriy Makukha

11

对我来说,这个方法有效:

sudo ln -s /usr/local/Cellar/libtool/2.4.2/lib/libltdl.7.dylib /usr/local/lib/libltdl.7.dylib

这对我有用 - 我的路线是通过更新OSX Mavericks,然后更新Ruby到2.1.1(因为在Mavericks下似乎无法编译任何早期版本),然后rmagick / imagemagick崩溃,需要通过brew重新安装ImageMagick,并强制将rmagick降级到v 2.13.2(因为2.13.4存在问题)。 - Mitch
我发现处理这类问题的最佳方法是:如果 DYLD 库第一次没有安装成功,通常第 n 次也不会安装成功。 - JESii

10

3

它们都不起作用,我个人重新安装了Watchman,方法如下:

brew uninstall watchman
brew reinstall watchman

2

1
xcode-select --install
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install pcre
brew install libtool

就是这样。


1
在我的情况下,我使用这个链接的文件解决了它:
ln -s /usr/local/Cellar/jpeg/8d/lib/libjpeg.8.dylib /usr/local/opt/jpeg/lib/libjpeg.8.dyli

0
对我来说,我需要修复XQuartz,因为brew doctor要求我这样做:
警告:您的XQuartz(2.7.6)已过时 请安装XQuartz 2.7.8: https://xquartz.macosforge.org 之后它就正常工作了。

0

我遇到了以下问题:

% neato dyld: Library not loaded: /usr/lib/libltdl.7.dylib Referenced from: /Users/me/Documents/dev/anaconda/bin/neato Reason: image not found zsh: abort neato

解决方法如下:

% echo $DYLD_FALLBACK_LIBRARY_PATH /Users/me/anaconda/lib:/usr/lib % export DYLD_FALLBACK_LIBRARY_PATH=$DYLD_FALLBACK_LIBRARY_PATH:/usr/local/lib

(然后将导出添加到.bashrc或类似文件中)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接