在Mac OS X Mavericks上安装zlib-devel:使用brew命令。

54

尝试使用Homebrew在Mac OS X Mavericks上安装zlib-devel不起作用:

brew install zlib-devel
Error: No available formula for zlib-devel 
Searching taps...

安装步骤:

brew install zlib

虽然它能正常工作。

6个回答

77

只需在命令行中运行:

xcode-select --install
在OS X 10.9+中,命令行开发者工具现在是按需安装的。 因此,在运行此命令后,zlib和zlib-devel也应该可用(无需安装zlib...)。

在OS X 10.9+中,命令行开发者工具现在是按需安装的。因此,在运行时,zlib和zlib-devel应该也会自动安装并可用(无需使用brew安装zlib...)


1
对我没用,出现了xcode-select: error: no developer tools were found的错误,也无法请求安装(可能没有UI),请从'developer.apple.com'手动安装。 - sureshvv
9
同时在Mac OS 10.14 Mojave上也遇到了这个问题。 - narner
在我的macOS High Sierra上,我应该在哪里找到zlib-devel?有人知道吗? - qxotk
不行,至少现在不行了。Catalina。 - PatrickT
2
xcode-select --install xcode-select: 错误: 命令行工具已经安装,请使用“软件更新”来安装更新。 - Nicholas Jela
显示剩余2条评论

72

针对OS X Mojave操作系统

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

原因是由于Xcode命令行工具不再在/include目录下安装所需的头文件。您需要运行额外的命令来安装所需的头文件。

如此文所述- https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes

默认情况下,命令行工具将在SDK中搜索系统头文件。但是,一些软件可能无法正确构建并与SDK合作,并需要在基本系统下的/usr/include目录中安装macOS头文件。如果您是这种软件的维护者,我们鼓励您更新项目以与SDK合作或提交问题报告以防止出现问题。作为解决方法,提供了一个额外的包,可将标头安装到基本系统中。在未来的版本中,将不再提供此包。您可以在以下位置找到此包: /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg 安装后,请通过运行xcode-select -s或xcode select -s /Library/Developer/CommandLineTools来确保使用预期的命令行工具版本。


1
这似乎在 Mojave 10.14.1 (18B75) 和 Xcode 10.1 (10B61) 上无法工作。似乎没有“macOS_SDK_headers_for_macOS_10.14.pkg”软件包,而且 xcode-select --install 失败并显示错误信息“Can’t install the software because it is not currently available from the Software Update server.” 希望这种情况只是暂时的。 - Valdimar
1
我也遇到了这个问题。最终我手动安装了Xcode(即通过应用商店下载),然后在偏好设置的“位置”区域中选择了命令行工具。我解决了一些关于安装Python的问题,但是接着出现了一个关于zlib的错误,导致我现在陷入困境。如果我尝试运行brew install zlib,它会执行,但是如果我尝试运行zlib command not found,则会提示找不到该命令。 - Dave Stein
1
确认。非常感谢! - gingerCodeNinja
在这里也工作过 - 感谢您发布实际的“installer”说明,除了文档。 - kevlarr
对我有用,这是适用于Mojave版本的解决方案,谢谢! - Darkaico
文件不存在于 Big Sour。 - Arnold Roa

55

xcode-select --install 在Mojave上出现问题时,无法解决该问题。

由于这是唯一阻碍的库,请访问https://www.zlib.net并下载源代码。选择页面中间大约一半处的“US (zlib.net)”超链接以获取tar.xz版本。

然后在您的本地计算机上找到下载文件并双击该文件。这将解压缩下载并在同一目录下创建一个新文件夹。

接下来在终端中执行以下操作:

  • cd 进入带有下载文件的目录
  • 然后tar -xvf zlib-1.2.11.tar.xz(请注意,zlib-1.2.11.tar.xz可能会因您下载的最新版本而更改。只需运行您刚刚下载的文件即可)
  • 更改目录cd zlib-1.2.11
  • ./configure
  • make
  • make install

6
确认 - 在Mojave上可以使用,“brew install zlib”也无效。 - Giannis Katsini
这也是我唯一有效的方法。Brew 是导致我一开始遇到所有问题的罪魁祸首! - adamfc
1
这对我在 Big Sur 上运行正常。brew install zlib 成功运行,但没有任何更改。 - Son Nguyen
除了在Big Sur上使用这个方法,其他的都没用。我还尝试了brew install zlib,但是没有效果。谢谢! - devjme

18

运行后,

xcode-select --install

请确保为编译器pkg-config导出这些变量,以便找到zlib

为了让编译器找到zlib,您可能需要设置:

export LDFLAGS="-L/usr/local/opt/zlib/lib"
export CPPFLAGS="-I/usr/local/opt/zlib/include"

如果要让pkg-config找到zlib,您可能需要设置:

export PKG_CONFIG_PATH="/usr/local/opt/zlib/lib/pkgconfig"

这解决了我的zlib问题。
zipimport.ZipImportError: can't decompress data; zlib not available

5
使用brew命令:brew --prefix zlib,可以显示zlib的安装路径。使用"$(brew --prefix zlib)/include""$(brew --prefix zlib)/lib"获取所需的两个路径。 - Brad Solomon
导出标志是我在Big Sur上手动构建Python所需的(需要旧版本)。 - Cpt. Senkfuss
我应该在哪里设置这些 export LDFLAGS?是在 .zshrc 还是 .bashrc 文件中?我使用的是 Catalina(默认使用 zsh)。 - Qasim

5
在 OS X 10.15 Catalina 中,您需要运行 xcrun --show-sdk-path 命令来查看它的路径,然后将该路径提供给编译器,或者执行类似以下的操作。
export CPATH=`xcrun --show-sdk-path`/usr/include

指向包含zlib.h文件的目录的路径,或者只需提供该文件的路径即可。
export CPATH=`xcrun --show-sdk-path`/usr

根据所期望的路径进行判断。


-1

不幸的是,以上方法都无法解决我的问题,所以我进行了以下操作

brew reinstall python@2
pip install six

希望能有所帮助


1
Python@2在brew中已不再可用。 - Guido

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