15

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

4

3 回答 3

8

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

  • Mavericks中,Xcode 包含它自己的命令行工具副本(即它们被捆绑为 Xcode.app 的一部分)。因此,卸载 Xcode(查看下面的说明)也会删除命令行工具。

  • 对于运行 Xcode 5 或更早版本 (Xcode 4.x) 的旧 Mac OSX 版本,您可以找到以前的SO 答案,这些答案解释了如何卸载 Xcode 的命令行工具。你可以使用这个脚本(在这篇文章中阅读更多关于它的信息):

    # 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. 然后您可以从这里下载所需的 Xcode 版本并从头开始安装。
于 2014-01-12T22:57:52.547 回答
7

我在尝试卸载命令行工具 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 报告的路径是相对的。您也可以通过简单地删除 CLT rm -rf /Library/Developer/CommandLineTools

于 2014-10-19T23:30:41.857 回答
2

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

从以下命令中删除 CLT

sudo rm -rf /Library/Developer/CommandLineTools

从终端。

于 2015-06-26T07:02:51.407 回答