psvj
psvj

Reputation: 8840

How to update Xcode from command line

I am trying to update Xcode from the command line. Initially I tried running:

 xcode-select --install

which resulted in this message:

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

So the question remains, is there a way to update Xcode from the command line?

Upvotes: 616

Views: 838237

Answers (23)

itstwelvehere
itstwelvehere

Reputation: 400

softwareupdate --install will work fine, avoid running rm -rf which may have unintended side effects.

Don't forget quotes or escape spaces with \!

softwareupdate --list # get available updates
softwareupdate --install "Command Line Tools for Xcode-xxx"

Upvotes: 5

blinkdagger182
blinkdagger182

Reputation: 21

I noticed when you update your macOS version, the CLI does not necessarily recognize the latest version of your Xcode.

Try this command to reset your xcode-select version:

sudo xcode-select --reset

And then later on confirm your version by running the command below:

/usr/bin/xcodebuild -version

Upvotes: 1

Terion
Terion

Reputation: 5

This reminds me why I hate MacOS. Every time I tried one of these errors I would get the incomprehensible error: No install could be requested (perhaps no UI is present) Turns out this "CLI" actually needs a graphical session to run. WTF! Very useful when you're actually only ever connecting to the remote mac server over SSH to queue iOS builds.

So the answer for me was:

Physically travel to the Mac, attach screen, mouse and keyboard, and run the command there.

Upvotes: -4

Alex Y
Alex Y

Reputation: 61

I was faced with this today after an update from Xcode (App Store on Mac) updated my Xcode.

My SourceTree wouldn't allow me to do a merge conflict. In Xcode I found that Command Tools was NOT selected. I selected it, however still no dice as I was getting the same message of:

I performed the command:

softwareupdate --list

which gave me a list of products, including THREE (3) versions of CommandLine Tools Software Update Tool

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

  • Label: Command Line Tools for Xcode-13.2 Title: Command Line Tools for Xcode, Version: 13.2, Size: 577329K, Recommended: YES,
  • Label: SFSymbolsAuto-3.3 Title: SF Symbols, Version: 3.3, Size: 169368K, Recommended: YES,
  • Label: Command Line Tools for Xcode-13.3 Title: Command Line Tools for Xcode, Version: 13.3, Size: 718145K, Recommended: YES,
  • Label: Command Line Tools for Xcode-13.4 Title: Command Line Tools for Xcode, Version: 13.4, Size: 705462K, Recommended: YES,

my version of Xcode is 13.4, so I preceded to try to update just the one. I used the Label, with escaped spaces (which also works with just quoted label btw "Command Line Tools for Xcode-13.4"

softwareupdate -i Command\ Line\ Tools\ for\ Xcode-13.4

In doing so, ALL 3 updates of Command Line Tools disappeared and I was able to continue.

Hope this helps someone else out there.

Upvotes: 3

zrbecker
zrbecker

Reputation: 1582

I am not sure why this was so tricky for me.

sudo xcode-select --install

Did nothing for me.

softwareupdate --all --install --force

Did nothing for me.

I had to do things in the following order

sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install

This installed a newer xcode, but not latest.

Then I did

softwareupdate --all --install --force

and they updated completely.

Upvotes: 26

Sanchewy
Sanchewy

Reputation: 91

I was able to update via CLI using:

softwareupdate --list --verbose

and then

softwareupdate -i Command\ Line\ Tools\ for\ Xcode-13.2

Upvotes: 9

Thomas Van Holder
Thomas Van Holder

Reputation: 1507

Update with this one-liner.

softwareupdate --install -a

Upvotes: -1

Rob G
Rob G

Reputation: 105

I arrived here trying to install Appium. Adding my answer in case other folks land here for the same issue.

appium-doctor --ios

... bunch of stuff...

WARN AppiumDoctor ✖ Error running xcrun simctl

... bunch of stuff...

info AppiumDoctor ### Manual Fixes Needed ###

info AppiumDoctor The configuration cannot be automatically fixed, please do the following first:

WARN AppiumDoctor ➜ Manually install Xcode, and make sure 'xcode-select -p' command shows proper path like '/Applications/Xcode.app/Contents/Developer'

In my case

xcode-select -p

/Library/Developer/CommandLineTools

which appeared wrong...but I knew I had recently updated Xcode and the command line tools

so...

sudo xcode-select -r (sudo required)

then...

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

After this, no warning. Appium-doctor returned clean.

Upvotes: 2

hbrannan
hbrannan

Reputation: 161

I am now running OS Big Sur. xcode-select --install, and sudo xcode-select --reset did not resolve my issue, neither did the recommended subsequent softwareupdate --install -a command. For good measure, I tried the recommended download from Apple Downloads, but the Command Line Tools downloads available there are not compatible with my OS.

I upvoted the fix that resolved for me, sudo xcode-select --switch /Library/Developer/CommandLineTools/ and added this post for environment context.

Upvotes: 8

brianlmerritt
brianlmerritt

Reputation: 2842

@Vel Genov's answer is correct, except when the version of Xcode can't be updated because it is the latest version for your current version of Mac OS. If you know there is a newer Xcode (for example, it won't load an app onto a device with a recent version of iOS) then it's necessary to first upgrade Mac OS.


Further note for those like me with old Mac Pro 5.1. Upgrading to Mojave required installing the metal gpu (Sapphire AMD Radeon RX 560 in my case) but make sure only HDMI monitor is installed (not 4K! 1080 only). Only then did install Mojave say firmware update required and shut computer down. Long 2 minute power button hold and it all upgraded fine after that!


Catalina update - softwareupdate --install -a won't upgrade xcode from command line if there is a pending update (say you selected update xcode overnight)

Upvotes: 11

Abhisek Singh
Abhisek Singh

Reputation: 131

I was facing the same problem, resolved it by using the following command.

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

After running the above command then xcode-select -p command showed the following.

/Library/Developer/CommandLineTools

Upvotes: 13

Roy Huang
Roy Huang

Reputation: 619

Just type the commands

cd  /Library/Developer/CommandLineTools/Packages/;
open macOS_SDK_headers_for_macOS_10.14.pkg

Reference: https://forums.developer.apple.com/thread/104296

Upvotes: 21

ipinak
ipinak

Reputation: 6039

I had the same issue and I solved by doing the following:

  1. removing the old tools ($ sudo rm -rf /Library/Developer/CommandLineTools)
  2. install xcode command line tools again ($ xcode-select --install).

After these steps you will see a pop to install the new version of the tools.

Upvotes: 335

Vel Genov
Vel Genov

Reputation: 11091

What you are actually using is the command to install the Xcode command line tools - xcode-select --install. Hence the error message you got - the tools are already installed.

The command you need to update Xcode is softwareupdate command [args ...]. You can use softwareupdate --list to see what's available and then softwareupdate --install -a to install all updates or softwareupdate --install <product name> to install just the Xcode update (if available). You can get the name from the list command.

As it was mentioned in the comments here is the man page for the softwareupdate tool.

2019 Update

A lot of users are experiencing problems where softwareupdate --install -a will in fact not update to the newest version of Xcode. The cause for this is more than likely a pending macOS update (as @brianlmerritt pointed out below). In most cases updating macOS first will solve the problem and allow Xcode to be updated as well.

Updating the Xcode Command Line Tools

A large portion of users are landing on this answer in an attempt to update the Xcode Command Line Tools. The easiest way to achieve this is by removing the old version of the tools, and installing the new one.

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install

A popup will appear and guide you through the rest of the process.

Upvotes: 877

Abdulkadir Turan
Abdulkadir Turan

Reputation: 19

Hello I solved it like this:

Install Application> Xcode.app> Contents> Resources> Packages> XcodeSystemResources.pkg.

Upvotes: 1

Ajith
Ajith

Reputation: 2666

xCode version 11.2.1 is necessary for building app in iPad 13.2.3, When I directly try to upgrade from xcode 11.1 to 11.2.1 through App Store it get struck, So after some research , I found a solution to upgrade by removing the existing xcode from the system

So here I am adding the steps to upgrade after uninstalling existing xcode.

  1. Go to Applications and identify Xcode and drag it to trash.
  2. Empty trash to permenently delete Xcode.
  3. Now go to ~/Library/Developer/ folder and remove the contents completely Use sudo rm -rf ~/Library/Developer/ to avoid any permission issue while deleting
  4. Lastly remove any cache directory associated with xcode in the path ~/Library/Caches/com.apple.dt.Xcode sudo rm -rf ~/Library/Caches/com.apple.dt.Xcode/*
  5. After completing the above steps you can easly install xcode from App Store, which will install the current latest version of xcode

Note: Please take a backup of your existing projects before making the above changes

Upvotes: 0

Adeojo Emmanuel IMM
Adeojo Emmanuel IMM

Reputation: 2154

To those having this issue after update to Catalina, just execute this command on your terminal

sudo rm -rf /Library/Developer/CommandLineTools; xcode-select --install;

Upvotes: -3

Minato
Minato

Reputation: 463

$ sudo rm -rf /Library/Developer/CommandLineTools
$ xcode-select --install

Upvotes: 13

Cyril Bouthors
Cyril Bouthors

Reputation: 1274

I encountered the same issue when I uninstalled the complete version of Xcode to reinstall the CLI version. My fix was:

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

Upvotes: 82

Iuri Gavronski
Iuri Gavronski

Reputation: 523

After installing Command Line Tools (with xcode-select --install), type:

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

You should be able to run git now:

10:29 $ git --version
git version 2.17.2 (Apple Git-113)

Upvotes: 39

RawBData
RawBData

Reputation: 207

I was trying to use the React-Native Expo app with create-react-native-app but for some reason it would launch my simulator and just hang without loading the app. The above answer by ipinak above reset the Xcode CLI tools because attempting to update to most recent Xcode CLI was not working. the two commands are:

rm -rf /Library/Developer/CommandLineTools
xcode-select --install

This process take time because of the download. I am leaving this here for any other would be searches for this specific React-Native Expo fix.

Upvotes: 3

obit
obit

Reputation: 187

Xcode::Install is a simple cli software that allow you to install/select a specific Xcode version.

You can install it using gem install xcode-install
Then you will be able to install a specific version with xcversion install 9.4.1
And if you have more than one version installed, you can switch version with xcversion select 9.4

You can find more information at https://github.com/KrauseFx/xcode-install

Upvotes: 9

Navin
Navin

Reputation: 4107

I got this error after deleting Xcode. I fixed it by resetting the command line tools path with sudo xcode-select -r.

Before:

navin@Radiant ~$ /usr/bin/clang
xcrun: error: active developer path ("/Applications/Xcode.app/Contents/Developer") 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.

navin@Radiant ~$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

After:

navin@Radiant ~$ /usr/bin/clang
clang: error: no input files

Upvotes: 28

Related Questions