Как удалить инструменты командной строки xcode 5?

В пятницу я обновился до xcode 5 инструментов командной строки. Что-то работает неправильно, и я хочу вернуться к последней версии xxode версии 4.x. Как удалить инструменты командной строки 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

от терминала.