ChatGPT解决这个技术问题 Extra ChatGPT

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?

@RohitPradhan does that work?
@psjv ...not tried yet,
So obviously you can install from the app store... However I have a hunch that using a terminal command will be faster and more effecient than using the appstore (GUI?). Can anyone build on this idea? I put GUI in paranthesis because i dont know if im using the right terminology.
The ehow link in Rohit Pradhan's answer should be removed. As of 2022-02-13, it redirects to an unrelated site (itstillworks[.]com that's flagged by a few scanners for malware... virustotal.com/gui/url/… and urlvoid.com/scan/itstillworks.com

B
Beau Smith

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.


Hmm, for me for some reason update is listed in App Store, but not listed in command line.
--list and --install -a +1
Upon testing, softwareupdate --install -a does not even update Xcode, so the answer is entirely wrong it seems.
Ran softwareupdate -i -r to install the [recommended] install only, which was the Command Line Tools. It Downloaded twice, installed once, then completed. Seeing that it didn't solve the problem, I reran softwareupdate --list and the recommendation persisted. In AppStore, the Software Update had disappeared, then reappeared. Upon doing it through AppStore, I was prompted to accept user terms. After accepting, it seemed to work. Repeated running softwareupdate --list and it showed up as still recommended...
problem solved with the command: sh sudo rm -rf /Library/Developer/CommandLineTools xcode-select --install
I
Inanc Gumus

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

removing the old tools ($ sudo rm -rf /Library/Developer/CommandLineTools) 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.


Thanks man, this solution works for me too. I spent a whole day trying to get past this.
@AryanVenkat why should it be risky? You can reinstall them anytime you like.
This appeared to work for me: the commands ran without errors, the popup ran to completion, and a new /Library/Developer/CommandLineTools directory was installed. However, the new directory was also out of date (from Xcode 7.3 instead of the current 9.4), so it didn't solve my problem. I ended up searching for developer tools on developer.apple.com/download/more and downloading Command_Line_Tools_macOS_10.13_for_Xcode_9.4.1 from there.
I could only remove /Library/Developer/CommandLineTools by adding a sudo so it became sudo rm -rf /Library/Developer/CommandLineTools
@ipinak I found sudo rm -rf $(xcode-select -print-path) in github.com/nodejs/node-gyp/blob/master/macOS_Catalina.md docs, so you don't need to remove all command line tools as this seems overkill
o
olore

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


sometimes the brute force way is the easiest and least complex way (esp true in AppleLand) - however still ended up with an older version
After upgrading a device to Catalina, I wasn't able to install cocoapods until doing this. But it seems to have led to further issues, with xcodebuild requiring xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance. I then had to run sudo xcode-select -r to reset the command line tools path.
I
Iuri Gavronski

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)

This saved my life - this works in 2019 as the other answers no longer work
I can confirm, this is working for me in the latest version of Mac Catlina (10.15.4 (19E287))
Worked for me also. Thanks 🙏
Works in Big Sur version 11.2.2
Worked for me also. Thanks 🙏
N
Navin

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

This fixed it for me. I also deleted Xcode and ran into the error above. While I did try to reinstall just the command line tools using the suggestions in other answers, this is what ultimately resolved the issue.
Exactly same situation and this worked like a charm. Thanks!
I deleted Xcode and ran into the same problem, and only this answer resolved the issue.
R
Roy Huang

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


I can't say that this is the correct answer by itself, as I also tried numerous other solutions provided here, but it was only after using this solution that the problem was solved, thanks!
This package has to exist before this can work. In my version of Xcode it doesn't. (macOS 10.15 after upgrade)
M
Minato
$ sudo rm -rf /Library/Developer/CommandLineTools
$ xcode-select --install

When adding an answer to an older question with existing answers it is useful to point out what new aspect your answer addresses, and also to address if the passage of time and the release of new version has an impact on the answer.
Confirmed this works on Mac OS Catalina beta. It launches an installation window to download the required software after you approve access.
Confirmed this does not work on OS Catalina. Or High Sierra. Or Sierra... (sample size: entire department)
A
Abhisek Singh

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


Searched all over and you helped me .!
Not sure why, but after running the first answer's commands, and then this one it started working for me
This should be the accepted answer.
b
brianlmerritt

@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)


o
obit

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


Best answer here.
h
hbrannan

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.


z
zrbecker

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.


This worked on macOS Monterey v 12.3.1
R
RawBData

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.


K
Keinan Balsam

I was able to update via CLI using:

softwareupdate --list --verbose

and then

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

A
Abdulkadir Turan

Hello I solved it like this:

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


R
Rob G

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.


A
Alex Y

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.


A
Ajith

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.

Go to Applications and identify Xcode and drag it to trash. Empty trash to permenently delete Xcode. Now go to ~/Library/Developer/ folder and remove the contents completely Use sudo rm -rf ~/Library/Developer/ to avoid any permission issue while deleting 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/* 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


T
Thomas Van Holder

Update with this one-liner.

softwareupdate --install -a

A
Adeojo Emmanuel IMM

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;

This doesn’t add anything to the other answers that already mention these exact commands.