P i
P i

Reputation: 30734

How can I find out if I have Xcode commandline tools installed?

I need to use gdb.

ps-MacBook-Air:AcoustoExport pi$ gdb
-bash: gdb: command not found

ps-MacBook-Air:AcoustoExport pi$ sudo find / -iname "*gdb*"
Password:
/usr/local/share/gdb
/usr/local/Cellar/isl/0.12.1/share/gdb
:

and:

ps-MacBook-Air:AcoustoExport pi$ ls -la /usr/local/share/gdb
lrwxr-xr-x   1 pi    admin   30 14 Jan 22:01 gdb -> ../Cellar/isl/0.12.1/share/gdb

Not quite sure what to make this, clearly it is something installed by homebrew. I don't know why it's there, I don't know whether I could use it instead. It isn't in the search path.

So I figure I need Xcode commandline tools.

Xcode is not currently available from the Software Update server

^ my current problem exactly. Comment on that question says "you can get this error if you have them already"

But how do I check whether I have them already?

Upvotes: 221

Views: 465029

Answers (12)

Kiran Jadhav
Kiran Jadhav

Reputation: 3327

if you want to know the install version of Xcode as well as Swift language current version:

Use below simple command by using Terminal:

1. To get install Xcode Version

xcodebuild -version

2. To get install Swift language Version

swift --version

Upvotes: 51

albertodebortoli
albertodebortoli

Reputation: 1838

The answers suggesting to use xcodebuild -version are correct but sadly the output is formatted like so:

Xcode 14.3
Build version 14E222b

If you need the version of Xcode without the "Xcode " prefix, you can run the following:

xcodebuild -version | awk '/Xcode/ {print $2}' | tr -d '\n'

Upvotes: 6

kjon
kjon

Reputation: 61

TL;DR

One can have multiple installations of Xcode and multiple installations of Command Line Tools. This is where the system thinks your CLT are

xcode-select --print-path

Options to select Command Line Tools is in Xcode > Preferences > Locations, including the path for each. I found that brew complains about Xcode or Command Line Tools, and so following details how to install specific version of either.

brew doctor issues after upgrade MacOS

I have always used App store to install and update Xcode on my (2014) Macbook Pro but today after all updates brew doctor was still complaining about Xcode

Warning: Your Xcode (12.4) is outdated.
Please update to Xcode 13.2.1 (or delete it).

and complaining about Command Line Tools

Warning: A newer Command Line Tools release is available.

Get the specific version of Xcode

  • Download a specific version of Xcode as a xip from Developer.apple.com (I downloaded Xcode_13.2.1.xip)

  • Move Xcode_13.2.1.xip to /Applications

    cd Applications
    xip --expand /Applications/Xcode_13.2.1.xip

It takes a while to download, then a while longer to validate the application.
Open /Applications/Xcode.app

Check the CLT in XCode

Xcode> Preferences> Locations shows available CLT and the location (path) of each.
Select the appropriate Command Line Tools
Copy the path.
Go to Terminal and use the path in xcode-select
sudo xcode-select -s /Users/<username>/Applications/Xcode.app
Close Terminal and reopen.
The following was not specific enough:
pkgutil --pkg-info=com.apple.pkg.CLTools_Executables | grep version
But this is good to identify the version

$ /usr/bin/xcodebuild -version  

Xcode 13.2.1 Build version 13C100

IF still showing an older version of CLT
Try

sudo xcode-select --switch /Library/Developer/CommandLineTools/

THEN try

Update to a specific version of CLT

First, remove the existing CLT with

sudo rm -rf /Library/Developer/CommandLineTools  

Check which CLT updates available

softwareupdate --list  

Software Update Tool Finding available software Software Update found the following new or updated software:

  • Label: Command Line Tools for Xcode-12.4 Title: Command Line Tools for Xcode, Version: 12.4, Size: 440392K,> Recommended: YES,
  • Label: Command Line Tools for Xcode-13.2 Title: Command Line Tools for Xcode, Version: 13.2, Size: 577329K,> Recommended: YES,
  • Label: Command Line Tools for Xcode-12.5 Title: Command Line Tools for Xcode, Version: 12.5, Size: 470966K,> Recommended: YES,
  • Label: Command Line Tools for Xcode-12.5 Title: Command Line Tools for Xcode, Version: 12.5, Size: 470820K,> Recommended: YES,
softwareupdate --install "Command Line Tools for Xcode-13.2"

Closed Terminal and reopen

/usr/bin/xcodebuild -version     

Xcode 13.2.1
Build version 13C100

Output from:

$ xcode-select -p  

/Users/<username>/Applications/Xcode.app/Contents/Developer

And brew doctor shows

Your system is ready to brew.

Upvotes: 6

If you have installed Xcode but haven't set the Xcode version. then you will be getting this error. To resolve Xcode-> preferences -> Locations -> command line Tools -> Select the Xcode version

Upvotes: 1

Boaz Frenkel
Boaz Frenkel

Reputation: 746

You can open the Xcode app and go to preferences, the last line shows you if you have tools installed, which tools and lets you change them from the drop-down:

enter image description here

Upvotes: 2

Tim van der Leeuw
Tim van der Leeuw

Reputation: 406

I had XCode Commandline Tools installed for sure, but not XCode itself.

None of the available answers to get the version worked. pkgutil didn't give me the package of the XCode Commandline Tools, with none of the suggested package names.

Not having XCode installed (and having no need for it), I could not look in settings dialogs of that either.

xcode-select --version only gave me the version of xcode-select itself, with no clue as to the commandline tools version.

softwareupdate --list told me everything was up to date.

However I knew that my version must be out of date as the installer for one of homebrew packages told me so!

How I finally found out what version of the XCode Commandline Tools is installed I stumbled upon the command:

softwareupdate --history

Which listed 12.3 as the last version it updated...

Display Name                                       Version    Date                  
------------                                       -------    ----                  
Safari                                             14.0       04/11/2020, 12:26:12  
Command Line Tools for Xcode                       12.1       04/11/2020, 22:38:33  
Safari                                             14.0.2     15/12/2020, 16:38:27  
Safari                                             14.0.1     15/12/2020, 16:38:27  
Command Line Tools for Xcode                       12.3       15/12/2020, 16:38:27  
macOS Big Sur                                      11.2.1     14/02/2021, 20:57:56  
macOS Big Sur 11.2.2                               11.2.2     08/03/2021, 09:02:20  

So when you know for sure the commandline tools are installed (because, for instance, xcode-select --install tells you so) but none of the other methods works, check softwareupdate --history!

Upvotes: 4

Alex
Alex

Reputation: 12923

This command allows you to retrieve Xcode version when having only the CommandLineTools version installed:

pkgutil --pkg-info=com.apple.pkg.CLTools_Executables | grep version

As per this answer to "Determine xcode command line tools version" on Ask Different

Notes:

  • Confirmed working on maxOS Sierra and Big Sur.
  • When only CommandLineTools is install without Xcode, using xcodebuild returns the following error:
# /usr/bin/xcodebuild -version
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

Upvotes: 102

Godspower Omenihu
Godspower Omenihu

Reputation: 35

For macOS catalina try this : open Xcode. if not existing. download from App store (about 11GB) then open Xcode>open developer tool>more developer tool and used my apple id to download a compatible command line tool. Then, after downloading, I opened Xcode>Preferences>Locations>Command Line Tool and selected the newly downloaded command line tool from downloads.

Upvotes: 0

Sylvester Loreto
Sylvester Loreto

Reputation: 452

If for some reason xcode is not installed under

/usr/bin/xcodebuild

execute the following command

which xcodebuild

and if it is installed, you'll be prompted with it's location.

Upvotes: 6

P i
P i

Reputation: 30734

Thanks to the folks on Freenode's #macdev, here is some information:

In the old days before Xcode was on the app-store, it included commandline tools.

Now you get it from the store, and with this new mechanism it can't install extra things outside of the Xcode.app, so you have to manually do it yourself, by:

xcode-select --install

On Xcode 4.x you can check to see if they are installed from within the Xcode UI:

enter image description here

On Xcode 5.x it is now here:

enter image description here

My problem of finding gcc/gdb is that they have been superseded by clang/lldb: GDB missing in OS X v10.9 (Mavericks)

Also note that Xcode contains compiler and debugger, so one of the things installing commandline tools will do is symlink or modify $PATH. It also downloads certain things like git.

Upvotes: 17

Rohit
Rohit

Reputation: 3702

/usr/bin/xcodebuild -version

will give you the xcode version, run it via Terminal command

Upvotes: 344

Siavash Alp
Siavash Alp

Reputation: 1452

First of all, be sure that you have downloaded it or not. Open up your terminal application, and enter $ gcc if you have not installed it you will get an alert. You can verify that you have installed it by

$ xcode-select -p
/Library/Developer/CommandLineTools

And to be sure then enter $ gcc --version

You can read more about the process here: Xcode command line tools for Mavericks

Upvotes: 60

Related Questions