解决安装 Xcode 后仍然需要依赖 CommandLineTools 的问题

Mar 26, 2024 • 预计阅读时间 1 分钟

在执行命令 sudo gem install cocoapods 安装 pod 的时候,出现了一个错误:

clang: warning: no such sysroot directory: '/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk' [-Wmissing-sysroot]

可是我已经安装了 Xcode 15 ,难道还需要安装 CommandLineTools?这个安装脚本看来是硬编码了路径,只会去找 CommandLineTools 目录下的 SDK。

要解决这个问题,不需要另外安装 CommandLineTools ,只需要做一下符号链接,把 Xcode 中的 SDK 映射到 CommandLineTools 目录下就行了:

$ xcrun --show-sdk-path --sdk macosx

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk

先找到当前 Xcode 里的 macOS SDK 路径,其实 cocoapods 安装脚本里面也可以这么实现,不知道为什么要硬编码路径。

再做一个符号链接到 CommandLineTools 目录下:

$ sudo mkdir /Library/Developer/CommandLineTools

$ sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs \
             /Library/Developer/CommandLineTools

因为我没有安装 CommandLineTools ,所以需要先创建一个 CommandLineTools 目录,再做 SDK 的符号链接。

最后再执行命令安装 cocoapods 就不会报错了。

Xcode
版权声明:如果转发请带上本文链接和注明来源。

lvv.me

iOS/macOS Developer

Openwrt 安装 modemmanager 的注意事项

Swift 中使用字符串 length 时的注意事项