由于 MACOSX_DEPLOYMENT_TARGET,Big Sur 发出“无效版本”错误

新手上路,请多包涵

我认为,由于 Big Sur 正在为新操作系统提供新的修补程序,因此尚未出现。尝试安装使用 clang 进行编译的模块时,抛出以下错误:

 clang: error: invalid version number in 'MACOSX_DEPLOYMENT_TARGET=11.0'

当前运行:

  • Mac OS Big Sur,11.0 测试版
  • 英特尔 中央处理器 (i386)
  • Python 3.8.0 通过安装 pyenv

多个模块有 clang 依赖关系,所以这个错误似乎很常见。一个例子:

 pip install multidict

安装旧版本的命令行工具(例如 11.5)也不起作用。

原文由 Felipe 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

找出我这边的问题。

之前我从 App Store (11.7) 安装了 XCode 并将其 SDK 设置为我的默认值:

 sudo xcode-select --switch /Applications/Xcode.app/

但是,这似乎带有不受支持的版本 clang

   λ clang --version
Apple clang version 11.0.3 (clang-1103.0.32.62)
Target: x86_64-apple-darwin20.1.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

通过以下方式将 xcode-select 设置为最新版本:

 sudo xcode-select --switch /Library/Developer/CommandLineTools

编辑(2020 年 11 月 15 日)

尝试进行上述更改时,您可能会收到错误消息:

xcode-select: error: invalid developer directory '/Library/Developer/CommandLineTools'

要解决此问题,您必须在 此处 从 Apple 官方网站安装最新的命令行工具。在撰写此编辑时,我安装了 Command Line Tools for Xcode 12.3 beta

clang 更改为工作版本:

   λ clang --version
Apple clang version 12.0.0 (clang-1200.0.32.2)
Target: x86_64-apple-darwin20.1.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

内置的 Big Sur SDK 是版本 10.15 ,它似乎可以正常工作:

   λ ls /Library/Developer/CommandLineTools/SDKs
MacOSX.sdk      MacOSX10.15.sdk

切换后 multidict 安装成功。

   λ pip install multidict
Collecting multidict
  Downloading multidict-4.7.6-cp38-cp38-macosx_10_14_x86_64.whl (48 kB)
     |████████████████████████████████| 48 kB 589 kB/s
Installing collected packages: multidict
Successfully installed multidict-4.7.6

进一步调查似乎表明这是 Apple 的设计选择( 来源):

在此处输入图像描述

因此,确保您的 SDK 是默认的开箱即用的,而不是 XCode 的新 SDK 应该足以让系统在需要时切换上下文(并且似乎可以正常工作 pip + clang )。

原文由 Felipe 发布,翻译遵循 CC BY-SA 4.0 许可协议

我想扩展@Felipe 出色的答案; 如果 即使跑步也不起作用

>>> softwareupdate --all --install --force
Software Update Tool

Finding available software
No updates are available.

…按照“自制医生”的智慧解决了它,即删除并重新安装:

 sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install

原文由 Håkon T. 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题