2013-10-28 2 views
15

금요일에 xcode 5 명령 줄 도구로 업그레이드되었습니다. 뭔가 올바르게 작동하지 않고 마지막 4.x 버전 ox xcode로 돌아가고 싶습니다. xcode 5 명령 줄 도구를 제거하려면 어떻게합니까? 릴리스 노트에는 아무 것도 보이지 않습니다.xcode 5 명령 줄 도구를 제거하려면 어떻게합니까?

+1

타임머신 백업 복원이 끝났습니다. 내 컴퓨터 (RVM, xcode CLI, bundler)에서 모든 것이 불안해졌고 복원 후 모든 것이 훨씬 나아졌습니다. 나쁘게 뭔가를 엉망으로 만들었어야 했어. 나는이 질문에 대한 답을 미래에 나올 때를 대비해서 아직도 알고 싶다. – WattsInABox

+0

죄송합니다.하지만 정확히 원하는 것을 이해하지 못했습니다. Xcode 5를 제거하고 이전 버전을 설치 하시겠습니까? 또는 Xcode 5를 이전 버전의 명령 줄 도구로 유지하면서 명령 줄 도구 만 제거 하시겠습니까? – veducm

+0

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

답변

8

Mavericks에서 Xcode 5를 실행하는지 여부에 따라 명령 행 도구를 제거하기 위해 두 가지 작업을 수행해야합니다. 댈러스, Xcode includes its own copy of the Command line tools (즉 그들은 Xcode.app에 번들 됨)에서

  • . 따라서 Xcode를 제거하면 (아래의 지침을 확인하십시오) 명령 줄 도구도 제거됩니다. 엑스 코드 5 또는 이전 버전 (엑스 코드 4.x의)를 실행 오래된 맥 OSX 버전를 들어

  • , 당신은 엑스 코드의 명령 줄 도구를 제거하는 방법을 설명 이전 SO answers을 찾을 수 있습니다. 당신은이 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를 열고 명령 줄 도구가 설치되어있는 것으로 나타날 수 있습니다.

그런 다음, 당신이 원하는에 따라, 당신은 더 낮은 버전으로 다운 그레이드 엑스 코드와 예를 들어 해당 버전에 대한 명령 행 도구를 다시 설치 할 수있다. this SO answer에 설명 된대로

은 엑스 코드를 다운 그레이드하려면

  1. 제거 엑스 코드 5 : /Applications로 이동하여 엑스 코드 응용 프로그램을 삭제합니다.
  2. Mac을 다시 시작하십시오.
  3. 그런 다음 here에서 원하는 Xcode 버전을 다운로드하고 처음부터 다시 설치할 수 있습니다.
+0

답변을 주셔서 감사 합니다만, XCode 5에 대해서는 이해할 수 없으므로 스크립트가 작동하지 않습니다. 4.3 CLI를위한 것임 – WattsInABox

+1

좀 더 연구를 한 후에, 나는 ** Xcode 5.0.x와 Mavericks **에서 애플이 ** Xcode 커맨드 라인 툴을 Xcode.app **에 번들로 돌려 놓았다는 것을 발견했다. (+ info http://derflounder.wordpress.com/2013/11/15/xcode-command-line-tools-included-with-xcode-5-0-x-on-mavericks/). 따라서 명령 줄 도구를 수동으로 설치하지 않은 경우 응용 프로그램을 제거해도 명령 줄 도구가 제거되어야합니다. – veducm

+0

@WattsInABox 마지막 연구가 도움이 되었습니까? 귀하의 특정 상황에 대한 답변이 정확한지 확인하고 싶습니다. – veducm

7

커맨드 라인 툴 v6을 제거하는 동안 나는 이것을 우연히 발견했습니다.

전체 Xcode 6이 설치되었지만 Xcode를 휴지통으로 이동하면 NOT CLT도 제거/삭제됩니다. 나는 아직도 /usr/bin/clang을 가지고 있었다. 이 솔루션은 수동 (@ veducm의 대답 유사) .bom의 내용을 사용하여 CLT를 제거하는 것이었다 :

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를 교체합니다. 여러 개가있을 수 있습니다.이 경우 모두 동일한 명령을 적용합니다 (예 : 매버릭스와 요세미티에 CLT가 설치 되었기 때문에 DevSDK_OSX109DevSDK_OSX1010을 모두 가지고 있습니다).

참고 : .bom에 나열된 파일은 삭제됩니다.확실하지 않으면 lsbom -fls /var/db/receipts/com.apple.pkg.CLTools_Executables.bom 등을 수행하여 내용을 먼저 볼 수 있습니다.

참고 2 : lsbom에 의해보고 된 경로는 상대 경로이므로 cd /이 필요합니다. rm -rf /Library/Developer/CommandLineTools을 수행하여 CLT를 제거 할 수도 있습니다.

2

rm 명령은 파일이나 디렉토리를 제거 (삭제)합니다. 단말로부터 명령 다음

sudo rm -rf /Library/Developer/CommandLineTools 

에서

CLT 삭제한다.

관련 문제