Macports 的权限下降导致 Xcode 许可问题

Macports' dropping of privileges causing Xcode licence problems

我正在尝试在 OS X 上使用 Macports 安装一些端口,但是一旦安装尝试调用 C 编译器,我就会得到:

Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.

上下文:

因此,我看到了两种选择:要么设法以某种方式同意我的用户级别的许可,要么强制 Macports 保留特权。但到目前为止,这些都没有做到。

许可接受存储在

  • /Library/Preferences/com.apple.dt.Xcode.plist,
  • ~/Library/Preferences/com.apple.dt.Xcode.plist(MacPorts 在启动时从您的家中复制此文件以支持需要每个用户接受的旧 Xcode 版本),或
  • ~macports/Library/Preferences/com.apple.dt.Xcode.plist

尝试将这些文件移到一边(如果它们存在)并使用 sudo xcodebuild -license 重新接受许可。也尝试清除 /var/folders/zz,Xcode 命令行工具使用它来缓存一些可能导致此问题的数据。如果这没有帮助,请检查这些文件的文件权限(至少第一个应该是 -rw-r--r--,即每个人都可读)。

有一种方法可以让 MacPorts 以 root 身份构建而不是放弃特权,但除非绝对必要,否则你不应该这样做。权限分离是一项安全功能,可避免端口行为不当对您的系统造成严重破坏。