В пятницу я обновился до xcode 5 инструментов командной строки. Что-то работает неправильно, и я хочу вернуться к последней версии xxode версии 4.x. Как удалить инструменты командной строки xcode 5? Я ничего не вижу в примечаниях к выпуску.
Как удалить инструменты командной строки xcode 5?
Ответ 1
В зависимости от того, используете ли вы Xcode 5 в Mavericks или нет, вам нужно будет сделать две разные вещи, чтобы удалить инструменты командной строки.
-
В Mavericks, Xcode включает в себя собственную копию инструментов командной строки (т.е. они в комплекте как Xcode.app). Поэтому удаление Xcode (см. Инструкции ниже) также удалит инструменты командной строки.
-
Для старых версий Mac OSX, работающих под управлением Xcode 5 или более ранних версий (Xcode 4.x), вы можете найти предыдущие ответы SO, которые объясняют, как удалить инструмент командной строки Xcode. Вы можете использовать этот script (Подробнее об этом читайте this сообщение):
# 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."
Вы можете легко запустить, открыв терминал и выполнив эту команду (он загрузит script и выполнит его автоматически):
curl "https://gist.github.com/yoneken/3284561/raw/db665bb64f93e38ce138b5ca620b9edd18dc31e4/remove_CLI_tools.sh" | sh
Если все сработало нормально, вы можете открыть Xcode и увидеть, что инструменты командной строки появятся для установки.
Затем, в зависимости от того, что вы хотите, вы могли бы понизить Xcode до более низкой версии и, например, переустановить средства командной строки для этой версии.
Чтобы понизить Xcode, как описано в этом SO answer:
- Удалите Xcode 5: перейдите в
/Applications
и удалите приложение Xcode. - Перезагрузите Mac.
- Затем вы можете скачать желаемую версию Xcode из здесь и установить ее с нуля.
Ответ 2
Я наткнулся на это, пытаясь удалить инструменты командной строки v6.
У меня был установлен полный Xcode 6, но перемещение Xcode в корзину делало NOT удаление/удаление CLT. У меня все еще был /usr/bin/clang
, например. Решение заключалось в том, чтобы вручную удалить CLT с использованием содержимого .bom(похоже на ответ @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
, потому что я также установил CLT для Mavericks и Yosemite).
ПРИМЕЧАНИЕ. Это приведет к удалению файлов, перечисленных в .bom. Вы можете просмотреть их содержимое, выполнив только lsbom -fls /var/db/receipts/com.apple.pkg.CLTools_Executables.bom
и т.д., Если вы не уверены.
ПРИМЕЧАНИЕ2: вам нужно cd /
, поскольку пути, сообщенные lsbom, являются относительными. Вы также можете удалить CLT, просто сделав rm -rf /Library/Developer/CommandLineTools
.
Ответ 3
Команда rm удаляет (удаляет) файлы или каталоги.
Удалить CLT из следующей команды
sudo rm -rf /Library/Developer/CommandLineTools
от терминала.