2013-10-28 9 views
15

Ho effettuato l'aggiornamento a xcode 5 Command Line Tools venerdì. Qualcosa non funziona correttamente e voglio tornare all'ultima versione xx di xx. Come posso disinstallare gli strumenti da riga di comando xcode 5? Non vedo nulla nelle note di rilascio.Come disinstallare gli strumenti da riga di comando xcode 5?

+1

Ho finito per ripristinare un backup della macchina del tempo. Tutto stava andando storto sulla mia macchina (RVM, xcode CLI, bundler) e dopo il ripristino, tutto andava molto meglio. Devo aver incasinato male qualcosa. Mi piacerebbe ancora sapere la risposta a questa domanda nel caso in cui dovesse emergere in futuro. – WattsInABox

+0

Scusa, ma non ho potuto capire cosa vuoi esattamente. Vuoi disinstallare Xcode 5 e installare una versione precedente? O vuoi disinstallare solo gli strumenti da riga di comando, mantenendo Xcode 5 con una versione precedente degli strumenti da riga di comando? – veducm

+0

http://stackoverflow.com/questions/14756026/how-to-downgrade-xcode-to-previous-version –

risposta

8

A seconda che sia in esecuzione Xcode 5 in Mavericks o meno, sarà necessario eseguire due operazioni diverse per disinstallare gli strumenti della riga di comando.

  • In Mavericks, Xcode includes its own copy of the Command line tools (cioè esse sono in bundle come parte di Xcode.app). Pertanto, la disinstallazione di Xcode (verifica le istruzioni di seguito) rimuoverà anche gli strumenti della riga di comando.

  • Per vecchie versioni di Mac OSX esecuzione Xcode 5 o versioni precedenti (Xcode 4.x), è possibile trovare precedente SO answers che spiegano come disinstallare strumento da riga di comando di Xcode. È possibile utilizzare questo script (Per saperne di più su di esso in 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." 
    

Puoi periodo questo facilmente aprendo un terminale e l'esecuzione di questo comando (verrà scaricato lo script ed eseguirlo automaticamente) :

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

Se tutto ha funzionato bene, si potrebbe aprire Xcode e vedere che gli strumenti della riga di comando appaiono come per essere installato.

Poi, a seconda di ciò che si desidera, è possibile downgrade Xcode a una versione più bassa e reinstallare gli strumenti di riga di comando per quella versione, per esempio.

a declassare Xcode, come spiegato in this SO answer:

  1. Uninstall Xcode 5: andare a /Applications ed eliminare l'applicazione Xcode.
  2. Riavvia il Mac.
  3. Quindi è possibile scaricare la versione Xcode desiderata da here e installarla da zero.
+0

Grazie per la risposta, ma quello script non funziona per XCode 5, come ho capito. È per il 4.3 CLI – WattsInABox

+1

Dopo alcune ricerche, ho scoperto che con ** Xcode 5.0.x e Mavericks **, Apple è tornato a ** raggruppare gli strumenti da riga di comando Xcode in Xcode.app ** (+ informazioni : http://derflounder.wordpress.com/2013/11/15/xcode-command-line-tools-included-with-xcode-5-0-x-on-mavericks/). Pertanto, se non hai installato manualmente gli strumenti della riga di comando, disinstallando l'app dovresti rimuovere anche gli strumenti della riga di comando. – veducm

+0

@WattsInABox La mia ultima ricerca ti è stata di aiuto? Vorrei verificare che la risposta sia corretta anche per la tua situazione specifica. – veducm

7

Mi sono imbattuto in questo mentre provavo a disinstallare Command Line Tools v6.

ho avuto la piena Xcode 6 installato, ma si spostano Xcode nel cestino ha NON disinstallare/cancellare CLT pure. Ho ancora avuto /usr/bin/clang per esempio. La soluzione era quella di rimuovere manualmente CLT utilizzando il contenuto .bom (simile a @ di veducm risposta):

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} 

Sostituire DevSDK_OSX109 con la versione che avete. Potresti avere più di uno, in tal caso, applicare lo stesso comando a tutti (ad esempio, ho avuto sia DevSDK_OSX109 e DevSDK_OSX1010 perché avevo installato CLT per Mavericks e Yosemite).

NOTA: Ciò eliminerà i file elencati nel .bom.È possibile visualizzare i contenuti prima facendo solo lsbom -fls /var/db/receipts/com.apple.pkg.CLTools_Executables.bom ecc. Se non si è sicuri.

NOTA2: è necessario il cd / poiché i percorsi segnalati da lsbom sono relativi. Puoi anche rimuovere CLT semplicemente facendo rm -rf /Library/Developer/CommandLineTools.

2

Il comando rm rimuove (elimina) i file o le directory.

Elimina CLT dalla seguente comando

sudo rm -rf /Library/Developer/CommandLineTools 

dal terminale.