我星期五升级到xcode 5命令行工具。有些东西工作不正常,我想回到最后的4.x版本的ox xcode。如何卸载xcode 5命令行工具?我在发行说明中没有看到任何内容。
答案 0 :(得分:8)
根据您是否在Mavericks中运行Xcode 5,您需要做两件事来卸载命令行工具。
在 Mavericks 中,Xcode includes its own copy of the Command line tools(即它们捆绑为Xcode.app的一部分)。因此,卸载Xcode(检查下面的说明)也将删除命令行工具。
对于运行Xcode 5或更早版本(Xcode 4.x)的较旧的Mac OSX版本,您可以找到之前的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:
中所述/Applications
并删除Xcode应用。 答案 1 :(得分:7)
我在尝试卸载Command Line Tools v6时偶然发现了这一点。
我安装了完整的Xcode 6,但是将Xcode移动到垃圾箱 NOT 卸载/删除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_OSX109
和DevSDK_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。
答案 2 :(得分:2)
rm命令删除(删除)文件或目录。
从以下命令
中删除CLTsudo rm -rf /Library/Developer/CommandLineTools
来自终端。