【问题标题】:How do I uninstall xcode 5 command line tools?如何卸载 xcode 5 命令行工具?
【发布时间】:2013-11-07 06:59:55
【问题描述】:

我在周五升级到 xcode 5 命令行工具。有些东西不能正常工作,我想回到上一个 4.x 版本的 ox xcode。如何卸载 xcode 5 命令行工具?我在发行说明中看不到任何内容。

【问题讨论】:

  • 我最终恢复了时间机器备份。我的机器(RVM、xcode CLI、bundler)上的一切都变得很糟糕,在恢复之后,一切都变得更好了。我一定把事情搞砸了。我仍然想知道这个问题的答案,以防将来出现。
  • 抱歉,我不明白你到底想要什么。您想卸载 Xcode 5 并安装以前的版本吗?还是您只想卸载命令行工具,让 Xcode 5 保留旧版本的命令行工具?
  • @PICyourBrain 是否有任何答案对您有帮助?您找到其他解决方案了吗?

标签: xcode5 uninstallation


【解决方案1】:

根据您是否在 Mavericks 中运行 Xcode 5,您需要执行两种不同的操作来卸载命令行工具。

  • Mavericks 中,Xcode includes its own copy of the Command line tools(即它们被捆绑为 Xcode.app 的一部分)。因此,卸载 Xcode(查看下面的说明)也会删除命令行工具。

  • 对于运行 Xcode 5 或更早版本 (Xcode 4.x) 的旧 Mac OSX 版本,您可以找到 previous SO answers,其中说明了如何卸载 Xcode 的命令行工具。您可以使用此script(在this post 中了解更多信息):

    # remove_CLI_tools.sh
    # written by cocoanetics:http://www.cocoanetics.com/2012/07/you-dont-need-the-xcode-command-line-tools/
    # modified by yoneken
    
    #!/bin/sh
    
    RECEIPT_FILE1=/var/db/receipts/com.apple.pkg.DevSDK.bom
    RECEIPT_PLIST1=/var/db/receipts/com.apple.pkg.DevSDK.plist
    RECEIPT_FILE2=/var/db/receipts/com.apple.pkg.clang.bom
    RECEIPT_PLIST2=/var/db/receipts/com.apple.pkg.clang.plist
    RECEIPT_FILE3=/var/db/receipts/com.apple.pkg.llvm-gcc4.2.bom
    RECEIPT_PLIST3=/var/db/receipts/com.apple.pkg.llvm-gcc4.2.plist
    RECEIPT_FILE4=/var/db/receipts/com.apple.pkg.DeveloperToolsCLI.bom
    RECEIPT_PLIST4=/var/db/receipts/com.apple.pkg.DeveloperToolsCLI.plist
    
    if [ ! -f "$RECEIPT_FILE4" ]
    then
      echo "Command Line Tools not installed."
      exit 1
    fi
    
    echo "Command Line Tools installed, removing ..."
    
    # Need to be at root
    cd /
    
    # Remove files and dirs mentioned in the "Bill of Materials" (BOM)
    lsbom -fls $RECEIPT_FILE1 $RECEIPT_FILE2 $RECEIPT_FILE3 $RECEIPT_FILE4 | sudo xargs -I{} rm -r "{}"
    
    # remove the receipt
    sudo rm $RECEIPT_FILE1 $RECEIPT_FILE2 $RECEIPT_FILE3 $RECEIPT_FILE4
    
    # remove the plist
    sudo rm $RECEIPT_PLIST1 $RECEIPT_PLIST2 $RECEIPT_PLIST3 $RECEIPT_PLIST4
    
    echo "Done! Please restart XCode to have Command Line Tools appear as uninstalled."
    

您可以通过打开终端并运行以下命令轻松运行(它将下载脚本并自动执行):

curl "https://gist.github.com/yoneken/3284561/raw/db665bb64f93e38ce138b5ca620b9edd18dc31e4/remove_CLI_tools.sh" | sh

如果一切正常,您可以打开 Xcode 并看到命令行工具似乎已安装。

然后,根据您的需要,您可以将 Xcode 降级到较低版本并重新安装该版本的命令行工具

要降级 Xcode,如 this SO answer 中所述:

  1. 卸载 Xcode 5:转到 /Applications 并删除 Xcode 应用程序。
  2. 重新启动 Mac。
  3. 然后您可以从here 下载所需的Xcode 版本并从头开始安装。

【讨论】:

  • 感谢您的回答,但据我了解,该脚本不适用于 XCode 5。它适用于 4.3 CLI
  • 经过更多研究,我发现对于 Xcode 5.0.x 和 Mavericks,Apple 已经回到 将 Xcode 命令行工具捆绑到 Xcode.app 中(+信息:derflounder.wordpress.com/2013/11/15/…)。因此,除非您手动安装命令行工具,否则卸载应用程序也应该删除命令行工具。
  • @WattsInABox 我上次的研究对您有帮助吗?我也想验证答案是否适合您的具体情况。
  • 这听起来很有帮助,所以我给了你一个 +1。我现在实际上不需要这个 b/c 我解决了这个问题,但这是一个很好的提示。谢谢!
  • @veducm 这不是我在山线上的情况。仍在运行 gcc 显示铿锵声
【解决方案2】:

我在尝试卸载命令行工具 v6 时偶然发现了这一点。

我安装了完整的 Xcode 6,但将 Xcode 移到垃圾箱也卸载/删除了 CLT。例如,我仍然有/usr/bin/clang。解决方案是使用 .bom 内容手动删除 CLT(类似于@veducm 的答案):

cd /
lsbom -fls /var/db/receipts/com.apple.pkg.CLTools_Executables.bom | sudo xargs -I{} rm -rf "{}"
lsbom -fls /var/db/receipts/com.apple.pkg.DevSDK_OSX109.bom | sudo xargs -I{} rm -rf "{}"
sudo rm /var/db/receipts/com.apple.pkg.{CLTools_Executables,DevSDK_OSX109}.{bom,plist}

DevSDK_OSX109 替换为您拥有的版本。您可能有多个,在这种情况下,对所有这些应用相同的命令(例如,我同时拥有 DevSDK_OSX109DevSDK_OSX1010,因为我也为 Mavericks 和 Yosemite 安装了 CLT)。

注意:这将删除 .bom 中列出的文件。如果您不确定,可以先通过lsbom -fls /var/db/receipts/com.apple.pkg.CLTools_Executables.bom 等方式查看它们的内容。

注意2:您需要cd /,因为lsbom 报告的路径是相对的。您也可以通过简单地执行 rm -rf /Library/Developer/CommandLineTools 来删除 CLT。

【讨论】:

    【解决方案3】:

    rm 命令删除(删除)文件或目录。

    从以下命令中删除 CLT

    sudo rm -rf /Library/Developer/CommandLineTools
    

    从终端。

    【讨论】:

      猜你喜欢
      • 2012-03-08
      • 1970-01-01
      • 2013-09-27
      • 2012-07-25
      • 2014-01-16
      • 1970-01-01
      • 2017-07-21
      • 2012-03-08
      相关资源
      最近更新 更多