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

coa*_*cal 483 xcode gcc ios

在尝试编译我的C程序时,运行以下命令:

gcc pthread.c -o pthread
Run Code Online (Sandbox Code Playgroud)

返回:

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

我的代码不编译.

为什么会发生这种情况?如何解决这个问题?

coa*_*cal 799

打开Xcode,接受新的用户协议.发生这种情况是因为下载了新版本的Xcode并且未接受新协议.

  • 为什么这需要root,为什么没有人被这个事实困扰? (75认同)
  • @ericsoco,运行Xcode应该没有root权限,无论有什么借口.期望Xcode成为用户态应用程序是正确的.不必要的root权限会降低用户的警惕性并帮助利用一般的扩散.即使某些硬件开发或推送组件需要管理员权限,它也应该是请求权限的组件,而不是整个开发环境.至关重要的是,开发者应该能够在任何时间授予和撤销这些特权.它现在的工作方式看起来像是代表Apple建立Xcode的懒惰方式. (21认同)
  • @SoldOutActivist是的,我知道这一切.但是我用不同的词来形容它.就像那样:Apple要求管理员权限获取并记录用户同意是不合理的.从它不值得信任的角度来看(任何应用程序都可以创建这样的窗口并将其计时到Xcode开始)并且在法律上有问题(因为它似乎绑定了我所有未来用户登录系统的操作).糟糕的设计.Apple和用户都不需要在安装后以某种方式设计应用程序来要求管理员权限. (12认同)
  • @VladDidenko您不需要管理员权限来运行Xcode或git.您需要管理员权限才能同意Xcode EULA的条款才能使用其应用程序 - git会这样做(您在安装应用程序时也会这样做).此处的权限提升类似于要求信用卡背面的3-4位数安全代码的网站.同意后,您不再需要管理员权限. (5认同)

And*_*our 551

sudo xcodebuild -license
Run Code Online (Sandbox Code Playgroud)

将在命令行上没有任何麻烦地处理它.请注意,您必须手动滚动许可证,并在最后同意其条款,除非您在命令行中添加"accept":

sudo xcodebuild -license accept
Run Code Online (Sandbox Code Playgroud)

  • 如果您为您控制的环境编写脚本解决方案,您也可以输入accept参数`sudo xcodebuild -license accept`. (37认同)
  • 这很优雅.虽然我在这里使用了其他方法,但如果我先看到它,我实际上更喜欢这个. (5认同)
  • 应该只有一个破折号@ dan-klasson:`-license` _NOT_`-license` (4认同)
  • 当 Xcode 和 Java JDK 等软件包要求您手动接受许可证时,通过配置管理和配置维护 Apple 构建服务器并不容易。 (2认同)

rah*_*hul 115

因为我试图去试图而陷入困境......我认为这与git有关.这是如何解决它...

  1. 我在终端输入以下内容:

    sudo xcodebuild -license
    
    Run Code Online (Sandbox Code Playgroud)
  2. 这将打开协议.一直走到最后,输入"同意".

这样可以解决问题.

有多么无关紧要的事情是非常有趣的.

  • 是的,我在一分钟没用过的机器上运行`git clone`. (4认同)
  • 您可以按q退出并同意,如果不倾向于阅读它. (4认同)

Mr.*_*ter 27

打开XCode并接受许可证可以解决问题.


cod*_*sed 15

你不需要乱搞任何命令:)

更新XCode后,打开Xcode IDE程序.请接受条款和条件.

你们都准备去:))


小智 7

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

安装了新版本的OSX或XCode,Apple希望您同意其条款和条件.所以只需启动Xcode并"同意"他们.


小智 6

跟着这些步骤:

  1. 开放式终端.
  2. 输入以下命令:sudo xcodebuild --license.
  3. 输入系统密码.
  4. 同意许可.

  • 该标志应该只使用一个破折号,即`sudo xcodebuild -license`. (4认同)

小智 5

我遇到了同样的问题,在接受许可证启动 XCode 或运行后,sudo xcodebuild -license accept我必须重新启动我的 Mac——否则它不起作用。