명령 줄 도구가 설치되었는지 확인하는 방법


104

OS X 10.8.2가 설치된 macbook pro가 있습니다. XCode가 설치되었습니다. 나는 이것이 Applications 디렉토리에 나타나는 것을 알고 있습니다. / usr / bin에 xcodebuild 및 xcode-select 파일도 있습니다. 명령 줄 도구가 설치되어 있는지 알아야합니다. 그것에 대한 명령이 있습니까? XCode CLT가 설치되어 있는지 확인하고 설치된 버전을 찾으려면 어떻게해야합니까?


XCode 버전은 4.6
Vivek Nandavanam 2013 년

답변:


104

10.14 Mojave 업데이트 :

Yosemite 업데이트를 참조하십시오.

10.13 High Sierra 업데이트 :

Yosemite 업데이트를 참조하십시오.

10.12 Sierra 업데이트 :

Yosemite 업데이트를 참조하십시오.

10.11 El Capitan 업데이트 :

Yosemite 업데이트를 참조하십시오.

10.10 요세미티 업데이트 :

gcc또는 make명령 줄에 입력하십시오 ! OSX는 명령 줄 도구가 없다는 것을 인식하고 설치하라는 메시지를 표시합니다!

존재하는지 확인하기 xcode-select -p위해 디렉토리를 인쇄합니다. 또는 2존재하지 않는 경우 반환 값이 될 0것입니다. 반환 값을 인쇄하려면 ( @Andy 감사합니다 ) :

xcode-select -p 1>/dev/null;echo $?

10.9 Mavericks 업데이트 :

사용하다 pkgutil --pkg-info=com.apple.pkg.CLTools_Executables

10.8 업데이트 :

옵션 1 : Rob Napier 사용 제안pkgutil --pkg-info=com.apple.pkg.DeveloperToolsCLI 는 아마도 더 .

옵션 2 :/var/db/receipts/com.apple.pkg.DeveloperToolsCLI.plist 참조를 위해 내부 를 확인 com.apple.pkg.DeveloperToolsCLI하면 버전이 나열됩니다 4.5.0.

[Mar 12 17:04] [jnovack@yourmom ~]$ defaults read /var/db/receipts/com.apple.pkg.DeveloperToolsCLI.plist
{
    InstallDate = "2012-12-26 22:45:54 +0000";
    InstallPrefixPath = "/";
    InstallProcessName = Xcode;
    PackageFileName = "DeveloperToolsCLI.pkg";
    PackageGroups =     (
        "com.apple.FindSystemFiles.pkg-group",
        "com.apple.DevToolsBoth.pkg-group",
        "com.apple.DevToolsNonRelocatableShared.pkg-group"
    );
    PackageIdentifier = "com.apple.pkg.DeveloperToolsCLI";
    PackageVersion = "4.5.0.0.1.1249367152";
    PathACLs =     {
        Library = "!#acl 1\\ngroup:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete\\n";
        System = "!#acl 1\\ngroup:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete\\n";
    };
}

1
내가 발견 오프닝 엑스 코드> 환경 설정> 다운로드> 구성 요소를 업데이트 상태에 있었고, 난 그것을 갱신 할 때, 그것은 설치로 상태를 표시하는 명령 행 도구 항목이 있었다
비벡 Nandavanam을

7
/var/db/receipts디렉토리 로 이동하는 대신 API를 사용할 수 있습니다.pkgutil --pkg-info=com.apple.pkg.DeveloperToolsCLI
Rob Napier

8
내가 착각 할 수도 있지만 영수증 이름은 이제 CLTools_ExecutablesOS Mavericks에서 찾은 전부입니다. 명령은 다음과 같습니다.pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
Chris

1
조던과 같은 것을 알아 차 렸습니다. 1, int를 반환하지 않습니다 단지 경로 엑스 코드는 - 선택
데이먼

1
/Applications/Xcode.app/Contents/Developer를 얻기 위해서만 xcode-select-p를 입력했습니다. 무슨 뜻인가요?
연구

77

요세미티

다음은 일부 사람들에게 필요할 수있는 새로운 Mac에 대한 몇 가지 추가 단계입니다. 이것은 @jnovack의 훌륭한 대답에 약간을 추가합니다.

업데이트 :이를 설정할 때 몇 가지 다른 참고 사항 :

관리자에게 암호가 있는지 확인하십시오. 루트 사용자를 활성화하려고 할 때 빈 암호가 작동하지 않습니다.

System Preferences > Users and Groups > (select user) > Change password

그런 다음 루트를 활성화하려면 dsenableroot터미널에서 실행하십시오 .

$ dsenableroot
username = mac_admin_user
user password:
root password:
verify root password:

dsenableroot:: ***Successfully enabled root user.

관리자 암호를 입력 한 다음 새로 활성화 된 루트 암호를 두 번 입력합니다.

다음 유형 :

sudo gcc

또는

sudo make

다음과 같이 응답합니다.

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:


You have not agreed to the Xcode license agreements. You must agree to 
both license agreements below in order to use Xcode.

라이센스 계약을 표시하라는 메시지가 표시되면 Enter를 누르십시오.

Hit the Enter key to view the license agreements at 
'/Applications/Xcode.app/Contents/Resources/English.lproj/License.rtf'

IMPORTANT: BY USING THIS SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE 
FOLLOWING APPLE TERMS:

//...

q라이센스 계약보기를 종료하려면 누르 십시오.

By typing 'agree' you are agreeing to the terms of the software license 
agreements. Type 'print' to print them or anything else to cancel, 
[agree, print, cancel]

유형 agree. 그리고 다음과 같이 끝납니다.

clang: error: no input files 

기본적으로 어떤 당신은 포기하지 않았다 수단 make또는 gcc모든 입력 파일.

수표는 다음과 같습니다.

$ xcode-select -p
/Applications/Xcode.app/Contents/Developer

매버릭스

Mavericks에서는 이제 조금 다릅니다.

도구를 찾을 수없는 경우 다음은 명령 pkgutil명령이 반환 한 것입니다.

$ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.

명령 줄 도구를 설치하려면 터미널에서 멋진 GUI와 모든 것이 잘 작동합니다.

$ xcode-select --install

http://macops.ca/installing-command-line-tools-automatically-on-mavericks/

발견되었을 때 다음은 pkgutil명령이 반환 한 것입니다.

$ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
package-id: com.apple.pkg.CLTools_Executables
version: 5.0.1.0.1.1382131676
volume: /
location: /
install-time: 1384149984
groups: com.apple.FindSystemFiles.pkg-group com.apple.DevToolsBoth.pkg-group com.apple.DevToolsNonRelocatableShared.pkg-group 

이 명령은 설치 전후에 동일한 결과를 반환했습니다.

$ pkgutil --pkg-info=com.apple.pkg.DeveloperToolsCLI
No receipt for 'com.apple.pkg.DeveloperToolsCLI' found at '/'.

또한 이전에 xcode의 다운로드 섹션에서 CLT 구성 요소를 선택하고 설치했지만 터미널에 도달하지 않은 것 같습니다 ...

도움이 되었기를 바랍니다.


최신 운영 체제에 대해이 답변을 업데이트 할 수 있습니까? 감사.
Sparky

sudo rm -rf / Library / Developer / CommandLineTools를 호출 한 다음 xcode-select --install을 호출했습니다.
Oleksii Kyslytsyn

31

명령 줄 도구가 설치되어 있는지 확인하려면 다음을 실행하십시오.

xcode-select --version

// if installed you will see the below with the version found in your system
// xcode-select version 1234.

명령 줄 도구가 설치되지 않은 경우 다음을 실행합니다.

xcode-select --install

1
간단하고 효과적입니다. 가장 좋은 대답이 될 수 있습니다.
Bryan P

12

macOS Sierra (10.12) :

  1. 다음 명령을 실행하여 CLT가 설치되었는지 확인합니다.

    xcode-select -p

    CLT가 이미 설치된 경우 도구 경로를 반환합니다. 이 같은 -

    /Applications/Xcode.app/Contents/Developer
  2. 다음 명령을 실행하여 CLT 버전을 확인합니다.

    pkgutil --pkg-info=com.apple.pkg.CLTools_Executables

    이것은 버전 정보를 반환하고 출력은 다음과 같습니다.

    package-id: com.apple.pkg.CLTools_Executables
    version: 8.2.0.0.1.1480973914
    volume: /
    location: /
    install-time: 1486372375

8

macOS Catalina 및 일부 이전 버전에서는 다음을 사용하여 명령 줄 도구가 설치된 위치를 찾을 수 있습니다.

xcode-select -p 일명 xcode-select --print-path

설치된 경우 다음과 같이 응답합니다.

/Library/Developer/CommandLineTools

설치된 버전을 확인하려면 다음을 사용할 수 있습니다.

xcode-select -v 일명 xcode-select --version

다음과 같은 결과가 반환됩니다.

xcode-select version 2370.

그러나 설치되어 있다고 가정하고 최신 버전으로 업그레이드하려는 경우 다음을 사용하십시오.

xcode-select --install

다음과 같은 응답을 받게됩니다.

xcode-select: error: command line tools are already installed, use "Software Update" to install updates

Spotlight를 사용하는 데 필요한 인상을주는 것은 오히려 '소프트웨어 업데이트'라는 것을 찾습니다. 실제로 터미널에서 계속해서 다음을 사용해야합니다.

softwareupdate -i -a 일명 softwareupdate --install --all

가능한 모든 것을 업데이트하려고 시도하며 다음과 같이 응답 할 수 있습니다.

Software Update Tool

Finding available software
No new software available.

컴퓨터에 설치된 다양한 Apple SDK 버전을 확인하려면 다음을 사용하십시오.

xcodebuild -showsdks


3

명령 줄 도구가 설치되어 있는지 여부와 macOS 버전에 관계없이 해당 버전을 찾는 가장 간단한 방법은

$brew config

macOS : 10.14.2-x86_64
CLT : 10.1.0.0.1.1539992718
Xcode : 10.1

명령 줄 도구가 제대로 설치되어 있고 경로가 제대로 설정되어있는 경우입니다.

이전에
macOS : 10.14.2-x86_64
CLT : N / A
Xcode : 10.1 과 같이 출력되었습니다 .

CLT는 gcc가 있음에도 불구하고 N / A로 표시되고 잘 작동하고 출력 이하로 작동합니다.

$xcode-select -p              
/Applications/Xcode.app/Contents/Developer
$pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.
$brew doctor
Your system is ready to brew.

마지막으로 xcode-select --install을 수행하면 brew가 아래와 같이 패키지를 설치하기위한 CLT를 찾을 수없는 문제를 해결했습니다.

Installing sphinx-doc dependency: python
Warning: Building python from source:
  The bottle needs the Apple Command Line Tools to be installed.
  You can install them, if desired, with:
    xcode-select --install

1

응용 프로그램> Xcode> 환경 설정> 다운로드로 이동합니다.

설치할 수있는 명령 줄 도구가 표시되어야합니다.




0

Xcode가 먼저 설치되면 CLI 도구를 포함하기 때문에 10.12 및 10.14에서 검증 된 다음 하이브리드를 사용합니다. 다른 많은 버전에서도 작동 할 것으로 예상합니다.

installed=$(pkgutil --pkg-info=com.apple.pkg.CLTools_Executables 2>/dev/null || pkgutil --pkg-info=com.apple.pkg.Xcode)

awk가지 논리 를 위해 맛을 내기 위해 소금 .

물론 xcode-select -p매우 짧은 명령으로 변형을 처리하지만 자세한 패키지, 버전 및 설치 날짜 메타 데이터를 제공하지 않습니다.


0

터미널을 열고 Xcode가 이미 설치되어 있는지 확인하십시오.

xcode-select -p

그 대가로 다음을 받으면 :

/Library/Developer/CommandLineTools

즉, Xcode가 설치되어 있습니다.

"HomeBrew"가 설치되어 있는지 확인할 수있는 또 다른 방법은 다음 명령을 사용하여 Xcode와 버전이 있는지 확인할 수 있습니다.

brew config

마지막으로 Xcode가없는 경우이 링크를 따라 Appstore에서 Xcode를 다운로드하십시오. App Store에서 Xcode .

행운을 빕니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.