在 OS X mojave 上安装 Haskell 时出现“macOS_SDK_headers_for_macOS_10.14.pkg 与此版本的 macOS 不兼容”

ZCh*_*hen 10 xcode haskell-stack macos-mojave

在运行以下代码块时,

$ cd /Library/Developer/CommandLineTools/Packages/
$ open macOS_SDK_headers_for_macOS_10.14.pkg
Run Code Online (Sandbox Code Playgroud)

安装人员警告

此软件包与此版本的 macOS 不兼容,可能无法安装。

当我选择“无论如何安装”时,它失败了。

我怎么可能让它工作?

一些可能相关的环境版本:
OS: macOS 10.14.5
xcodebuild -version: Xcode 11.2.1
gcc --version: gcc (Homebrew GCC 9.2.0_1) 9.2.0

更大的背景:我正在按照https://docs.haskellstack.org/en/stable/install_and_upgrade/ 上的说明设置 haskellstack

在跑步时$ stack setup我遇到了

配置:错误:在“~/.stack/programs/x86_64-osx/ghc-8.6.5.temp/ghc-8.6.5”中:
配置:错误:C 编译器无法创建可执行文件
有关详细信息,请参阅“config.log”
运行时收到 ExitFailure 77

根据说明的注释部分,我跑了

$ xcode-select --install
Run Code Online (Sandbox Code Playgroud)

它说

xcode-select: 错误:命令行工具已经安装,使用“软件更新”安装更新

然后(按照相同的说明)我跑了

$ cd /Library/Developer/CommandLineTools/Packages/
$ open macOS_SDK_headers_for_macOS_10.14.pkg
Run Code Online (Sandbox Code Playgroud)

小智 28

我的 MacOS 是 10.14.6

我在 MacrossEO 的另一个网站上找到了解决方案,请参阅https://donatstudios.com/MojaveMissingHeaderFiles

我不得不使用 'sudo rm -rf /Library/Developer/CommandLineTools' 删除命令行工具

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install
cd /Library/Developer/CommandLineTools/Packages/
open macOS_SDK_headers_for_macOS_10.14.pkg
Run Code Online (Sandbox Code Playgroud)

  • 重新安装“Xcode”后,我没有看到“/Library/Developer/CommandLineTools/Packages/”,而“packages”应该是“SDK” (3认同)