Macports丢弃了导致Xcode许可证问题的权限

时间:2015-04-24 07:58:46

标签: xcode licensing sudo macports privileges

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

  

同意Xcode / iOS许可证需要管理员权限,请通过sudo以root身份重新运行。

背景:

  • 我已经sudo xcodebuild -license并成功同意了 许可证但是当我运行xcodebuild -license时,我得到了同样的错误 如上。
  • 我在sudo运行Macports:sudo port install ghostscript但是 Macports似乎在安装过程中放弃了权限。 (也尝试使用终端作为root用户,但似乎也没有帮助。)

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

1 个答案:

答案 0 :(得分:0)

许可证接受存储在

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

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

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