Xcode IDE contain Command-Line utilities. But separate Command-Line installer cause errors for use by Homebrew, Python, and other development tools
- About Xcode
- Overlapping installers
- What Has Been Installed?
- More version information
- Xcode Version
- UnInstall Command Line Tools
- Install Command Line Utilities only
- Xcode IDE install from Terminal
- B) Initial IDE install using web App Store
- Xcode FileMerge tool
- More on OSX
This tutorial describes the installation and usage of Apple’s Xcode set of utilities for macOS developers.
Xcode is Apple’s free app for developing custom programs for all Apple devices (macOS, iPhone, iPad, Apple Watch). Increasingly, Machine Learning developers are using the Swift language.
Since the Apple Store only handles individual .app files, other mechanisms are needed to install additional programs needed as a pre-requisite by Homebrew, Python, and other development programs.
BTW Xcode only works on macOS. There is no Windows PC version.
PROTIP: Skip Apple’s websites and App. Click here for install instructions (below).
Otherwise, read on for a run-around.
Use an internet browser to view Apple’s Xcode marketing page at:
Xcode “includes everything you need to create amazing apps for all Apple platforms. Now Xcode and Instruments look great in the new Dark Mode on macOS Mojave. The source code editor lets you transform or refactor code more easily, see source control changes alongside the related line, and quickly get details on upstream code differences. You can build your own instrument with custom visualization and data analysis. Swift compiles software more quickly, helps you deliver faster apps, and generates even smaller binaries. Test suites complete many times faster, working with a team is simpler and more secure, and much more.”.
BTW the “Apple platforms” include MacOS, iPhone, iPad, Apple TV, and Apple Watch.
Xcode does not come with macOS because of its large size and because many users of macOS don’t need it to do software development.
Developers who use another IDE (such as Visual Studio, Eclipse, etc.) would only need to install Xcode’s command line utilities for the GCC compiler Python needs to build code.
PROTIP: Newer versions of Xcode installer also installs a Git client.
Imagine a Venn diagram of overlapping circles:
The Xcode IDE, which can be installed on a Terminal command line interface (CLI) or
Either way, Xcode contains:
- Command Line Utilities which can be installed separately on a Terminal command line session.
PROTIP: Xcode IDE cannot be installed if Command Utilities has already been installed.
However, you can switch:
sudo xcode-select --switch /Applications/Xcode.app
So choose which one you want installed.
What Has Been Installed?
In a Terminal window, find out what has been installed:
That’s the same command as:
If the Xcode-select command is not found, choose to either install Command Line Tools or install the full Xcode IDE.
You have Command Line Tools installed and not the full Xcode if you see the path where CommandLineTools are installed:
If all you need is Command Line Tools, you’re good to go.
Alternately, if the full Xcode was installed, you would instead see:
Get a list of its folders if Xcode IDE was installed:
The response would be:
Applications Library Makefiles Platforms Toolchains Tools usr
More version information
From within a Terminal, type:
If Command Line Tools was installed, you would see:
Xcode-select: error: tool 'Xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
If Xcode is installed, you would get a version code that should match up with the Build Number on the Apple web page:
Xcode 10.2.1 Build version 10E1001
For a more precise version number and other info (macOS Mavericks version and up):
A sample response, at time of writing:
package-id: com.apple.pkg.CLTools_Executables version: 184.108.40.206.1.1588476445 volume: / location: / install-time: 1590584803 groups: com.apple.FindSystemFiles.pkg-group
The previous command was constructed based on a search of tools package names:
pkgutil --pkgs | grep -i tools
com.apple.pkg.CLTools_Executables com.apple.pkg.CLTools_SDK_macOS1015 com.apple.pkg.CLTools_SDK_macOS1014 com.apple.pkg.CLTools_macOS_SDK
Get the version of GCC installed:
If Xcode was installed, you would see (at time of writing):
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1 Apple clang version 12.0.0 (clang-1220.127.116.11) Target: x86_64-apple-darwin19.6.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin
Previously, it was instead:
Apple LLVM version 10.0.1 (clang-1001.0.46.4) InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
If Command Line Utilities is installed, you would see (at time of writing):
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1 Apple clang version 11.0.3 (clang-118.104.22.168) Target: x86_64-apple-darwin19.4.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin
Identify the path where the make utility Java uses:
xcrun --find gcc
a. If Xcode is installed, the response is:
b. If Command Line Utilities is installed, the response is:
c. If no Xcode is installed:
xcrun: error: active developer path ("/Library/Developer/CommandLineTools") does not exist Use `sudo Xcode-select --switch path/to/Xcode.app` to specify the Xcode that you wish to use for command line developer tools, or use `Xcode-select --install` to install the standalone command line developer tools. See `man Xcode-select` for more details.
Get the version of the Swift program used to develop iOS mobile apps:
Sample response at time of this writing:
Apple Swift version 5.3 (swiftlang-122.214.171.124 clang-1126.96.36.199) Target: x86_64-apple-darwin19.6.0
If jamf installed Xcode, you’ll also see:
+ Done sudo rm -rf /Library/Developer/CommandLineToolsjamfselfservice://content?entity=policy
The above appears regardless of whether Command Line Utilities or Xcode is installed.
From here, uninstall and install Command Line Tools or install the full Xcode IDE.
UnInstall Command Line Tools
PROTIP: This is also how you upgrade Command Line Tools.
Go to the parent folder where Command Line Tools is installed:
Get a list of its folders:
If Command Line Tools were installed, the response would be :
Library SDKs usr
Remove all files in that folder, which requires a password for elevated permissions to get all the files:
sudo rm -rf /Library/Developer/CommandLineTools
The response is a lot of files removed (to the Trash).
Install Command Line Utilities only
See https://developer.apple.com/library/archive/technotes/tn2339/_index.html and http://osxdaily.com/2014/02/12/install-command-line-tools-mac-os-x
To install the whole Xcode IDE:
You should see this pop up:
Manually click “Install”, “Agree”, then “Install” to the “Updates Available” pop-up.
NOTE: The xGB download takes 13 minutes on a 10mbps line.
When you see “The software was installed.”, click “Done” to dismiss the pop-up.
Xcode IDE install from Terminal
Make sure you have at least 13GB free on your hard-drive before attempting installation.
- Click the Apple icon to select “About this Mac”.
- Click “Storage” tab.
In an internet browser, get to the “Mac App Store Preview” for Xcode at
Click View in Mac App Store, then “Open App Store.app” in the pop-up.
Provide your Apple ID and password. Get one if you don’t already have one.
PROTIP: DO NOT install a beta version of Xcode.
The blue “OPEN” icon appears at the upper-right when the app is installed. But don’t click it because we are done.
In Finder, look for Xcode.app in the /Applications folder.
Alternately, on the Touchpad pinch 4 fingers together to click the App Store. Type enough of “Xcode” to filter out others.
To view the version, cursor to the top of the screen and click the program name next to the Apple icon to select “About Xcode”:
A) Initial install from Terminal CLI
Open a Terminal.app console window at any directory to install -all the latest Xcode from Apple:
softwareupdate --install -a
The response on Catalina version of macOS:
Software Update Tool Finding available software Downloaded macOS Catalina 10.15.5 Update Installing macOS Catalina 10.15.5 Update Done. To install these updates, your computer must shut down. Your computer will automatically start up to finish installation. Installation will not complete successfully if you choose to restart your computer instead of shutting down. Please call halt(8) or select Shut Down from the Apple menu. To automate the shutdown process with softwareupdate(8), use --restart.
Click the Apple icon at the upper-right corner and select “Shut Down…”.
After starting again
Set Apple’s licensing agreement bit:
sudo xcodebuild -license
Manually agree to the terms.
Get the version number of the new version.
B) Initial IDE install using web App Store
In an internet browser, https://developer.apple.com/download
Sign in to Apple Developer with your email address then click the arrow icon. Enter your password, then click the arrow icon.
Below is the “Software Update” approach:
You’ll need to establish an Apple ID if you haven’t already.
Click the cloud icon Download and provide your Apple ID.
Go through Apple’s location verification if prompted.
Confirm your account.
Click “Allow” to the pop-up “Do you want to download?”.
CAUTION: Make sure that your machine has enough free space available.
These are massive files that may take a while to download if you don’t have a fast internet connection.
NOTE: Each version of Xcode is related to a specific version of the Apple OS Mac operating system.
File Date Download Unpacked Xcode_12.1 2020-10-01 10.5 GB 11.5 GB Xcode_11.5 2020-06-01 7.5 GB ? GB Xcode_10.2.1 2019-04-17 ? GB 6.1 GB Xcode_9.0 2017-09-19 . ? GB ? GB Xcode_8.2.1 8C1002 2016-12-19 ? GB ? GB Xcode_8_beta_2.xip 2016-07-05 5.9 GB 12.32 GB Xcode_7.31 2016-05-03 3.8 GB ? Xcode_4.1 2014- 2.9 GB ? Xcode_3.2.4 2014- 2.? GB ?
Switch to Finder Downloads folder to watch progress on the file name ending with “Download”. The one with a clock icon which signifies downloading.
Return to the versions instructions above to view the updated version.
Delete the installer after you’re done, to reclaim disk space.
Xcode IDE Upgrade
Over time, Apple updates Xcode and its command line utilities.
Click the Apple icon, then click System Preferences. Here is an example notification:
- Search for “Software Updates” or click the icon.
- Click “Update Now” if that appears. (but first do a backup.)
- Click “Agree” to the EULA.
- When done, view the version numbers installed.
Xcode FileMerge tool
Xcode graphically compares files and directories.
Open Xcode. This takes a few seconds.
Right-click on Xcode icon. Select “Open Developer Tool”. Select “FileMerge”.
Specify one file to compare.
Specify the other file to compare.
More on OSX
This is one of a series on Mac OSX:
- MacOS Hardware and accessories
- MacOS Boot-up
- MacOS Terminal Tips and Tricks
- MacOS Find (files and text in files)
- MacOS Keyboard tricks
- MacOS Setup automation
- MacOS Homebrew installers
- Printing from macOS or Linux
- Manage Disk Space on MacOS
- Data Backups on MacOS
- Ports open
- Applications on MacOS
- Windows on Apple MacOS
- Packer create Vagrant Windows image
- Python on MacOS
- Maven on MacOS
- Ruby on MacOS
- Java on MacOS
- Node on MacOS installation
- PHP on MacOS
- Scala ecosystem