1030

Saw the following error when running an npm install which required node-gyp... but could be triggered by anything which requires xcode-select.

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

What is the problem?

3
  • 3
    a blunt force alternative would be just to uninstall it and reinstall it again. out of all these answers that is the only thing that worked for me
    – qodeninja
    Commented Nov 1, 2013 at 17:27
  • @qodeninja reinstall did not work for me
    – user5306470
    Commented Aug 14, 2022 at 3:32
  • Ensure Xcode app is in the /Applications directory and it worked for me Commented Sep 14, 2023 at 10:08

30 Answers 30

1979

This problem happens when xcode-select developer directory was pointing to /Library/Developer/CommandLineTools when a full regular Xcode was required (happens when CommandLineTools are installed after Xcode)

Solution:

  1. Install Xcode (get it from https://appstore.com/mac/apple/xcode) if you don't have it yet.
  2. Accept the Terms and Conditions.
  3. Ensure Xcode app is in the /Applications directory (NOT /Users/{user}/Applications).
  4. Point xcode-select to the Xcode app Developer directory using the following command:
    sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

Note: Make sure your Xcode app path is correct.

  • Xcode: /Applications/Xcode.app/Contents/Developer
  • Xcode-beta: /Applications/Xcode-beta.app/Contents/Developer
24
  • @qodeninja Then replace /Applications/Xcode5-DP4.app with the proper path, I would assume.
    – Max Nanasy
    Commented Nov 1, 2013 at 10:39
  • @MaxNanasy i mean that's obvious. But no that didnt work. I had to uninstall and reinstall xcode for it to work again
    – qodeninja
    Commented Nov 1, 2013 at 17:26
  • 1
    I didn't need to do step 2. Installing Xcode was sufficient. :) Commented Oct 14, 2016 at 20:45
  • 29
    macOS High Sierra 10.13, I already had Xcode 9.2 installed and faced the same issue after installing carthage. Just did the step 4 and that's it!
    – RAM237
    Commented Mar 22, 2018 at 8:30
  • 1
    On a new Mojave 10.14.5 install, I installed Command Line Tools 10.2.1 and then Xcode 10.2.1, and got the above error. Then, I tried using this solution, and I still got the above error. Franklin A's solution worked: stackoverflow.com/a/40819686/9636 Commented Jul 22, 2019 at 15:27
232

I was having an issue while trying to install packages using npm. I got the error: "sudo xcode-select -s /Applications//Xcode.app/Contents/Developer/"

To fix this

  • I opened Xcode.
  • Preferences
  • Locations
  • Selected the Command Lin Tools: Xcode 6.1.1

Now when installing packages with npm I no longer get errors.

6
  • 2
    Fixed Robo VM setup.
    – Sensei
    Commented Mar 16, 2016 at 10:29
  • 2
    THIS is the good answer and should be followed first. All the others suggesting to use sudo and even entering root mode is just bad practice
    – Darren Zou
    Commented Jun 27, 2021 at 22:21
  • 1
    Fixed Ionic Capacitor Commented Jul 28, 2021 at 16:51
  • It saves my time! This works perfectly and easily! thanks
    – Jihyun
    Commented Mar 7, 2022 at 23:49
  • Fixed Cordova-Angular setup
    – Alexis
    Commented Jan 10, 2023 at 11:20
219

Other solution for those who don't want to install Xcode:

  1. Install Command Line Tools (if you haven't already):

    xcode-select --install

  2. Change the active directory:

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

This worked for me (git).

16
  • 26
    I prefer this solution to installing Xcode, however it looks like you can't download xcode-select from Apple any longer: cl.ly/image/2T0u2f2D471a/content
    – user1082754
    Commented Oct 25, 2013 at 20:38
  • 10
    I think I already have Command Line Tools installed, however, so this will not fix anything.
    – user1082754
    Commented Oct 25, 2013 at 21:33
  • 9
    So, is the only way to get a usable xcodebuild to install the whole of Xcode? :-(
    – user1082754
    Commented Oct 26, 2013 at 10:52
  • 75
    This answer seems incorrect. The whole point is that 'xcodebuild' requires Xcode, i.e., a full install of Xcode, nor CommandLineTools. Testing it here, switching to CommandLineTools doesn't stop the error, nor would it. Commented Sep 10, 2014 at 15:11
  • 27
    This answer is no longer correct. As of May 2015, when using Command Line Tools for OSX 10.10 (Yosemite), the xcodebuild command no longer functions without full xcode installed. Commented May 15, 2015 at 2:39
207

Xcode > Preferences > Locations > Command Line Tools

screenshot

Select the option matching your version of Xcode.

6
  • 1
    Click on the link and look at the image. The solution to this problem is not complicated.
    – FranklinA
    Commented Nov 26, 2016 at 15:10
  • I have installed 8 xcode versions thats making and issue but the above one will resolve mine issue. You are a life saver ;)
    – ahsan
    Commented Oct 2, 2018 at 6:43
  • This was the only thing that worked for me when I tried to have 2 version of XCode installed. Trying xcode-select kept saying "error: invalid developer directory"!
    – mc01
    Commented Oct 24, 2018 at 20:46
  • 1
    This was the solution I needed. Not sure why that command Line Tools option wasn't set. But once I set it, it resolved my problem. Thanks.
    – jdavis
    Commented Dec 14, 2018 at 15:52
  • 1
    If you're wondering what to do, just click the "Command Line Tools" dropdown and select an option from what you see. Commented Jun 22, 2021 at 16:06
87

Simply run sudo xcode-select -r which should automatically reset the path.

 -r, --reset
              Unsets any user-specified developer directory, so that the developer directory will be found via the default search mechanism. This command must  be
              run with superuser permissions (see sudo(8)), and will affect all users on the system.
3
  • 1
    wonder what will happen if i uninstalled xcode and followed the steps above since i installed CLI after xcode. Would that messup my existing IOS app projects?
    – Gel
    Commented Feb 22, 2019 at 18:36
  • This worked for me on osx 10.14.4 with xcode 11.3.1 Commented May 5, 2020 at 18:18
  • Worked after Big Sur upgrade (11.6).
    – AliS
    Commented Oct 5, 2021 at 18:29
64

I just ran the following command and the issue was resolved for me:

sudo xcode-select --reset
4
  • This is the same solution as in this other answer.
    – Eric Aya
    Commented Aug 13, 2021 at 16:38
  • worked for me immediately
    – Jacob
    Commented Nov 22, 2022 at 21:40
  • It worked on MacOS Sonoma.
    – user238607
    Commented Nov 25, 2023 at 6:00
  • Awesome, it was so simple ❤️
    – kaxi1993
    Commented Mar 11 at 18:32
41

if you installed XCode already, All you have to do is to...

  • Open XCode
  • Go To XcodePreferencesLocations
  • From the Command Line Tools Select your Xcode enter image description here
5
  • That control only shows the current one on my system, whereas the CommandLineTools/SDKs directory shows two more SDKs.
    – Oscar
    Commented Aug 25, 2022 at 0:49
  • 1
    Worked for me! Xcode is too smart to find it automatically :)
    – MBH
    Commented Oct 23, 2022 at 8:03
  • 7
    Even though it looks like it's selected, you need to actually select it! Confusing!
    – JMK
    Commented Dec 27, 2022 at 17:10
  • 1
    @JMK This x 1000. Talk about a wild goose chase. Apple... really?
    – Kalnode
    Commented Jan 30, 2023 at 19:35
  • interestingly just selecting that field (without changing anything, there's only one option) solved it for me Commented Jun 21 at 15:39
33
+250

Type this in your terminal

xcode-select --install
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -license accept
1
  • 1
    Super cool! After these three commands execution finished, do remember to restart your terminal to apply the new changes.
    – M.Bonjour
    Commented Jan 21, 2021 at 2:23
12

I had to run this first

sudo xcode-select --reset

then

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

and then it worked.

3
  • 5
    For me the problem was fixed after running the first command. Running the second command broke things again. So just the first one (in my case). Thank you.
    – Nate
    Commented Aug 24, 2019 at 16:51
  • 1
    I second that, just running the --reset fixed the problem Commented Sep 19, 2019 at 6:21
  • 1
    This worked for me too . Thanks !!
    – qwas
    Commented Feb 8, 2022 at 17:52
11

Just in case you're using xcode beta:

sudo xcode-select -s /Applications/Xcode-Beta.app/Contents/Developer
0
8
  1. Download Xcode from App Store.

  2. Go to Xcode preferences/Locations/CommandlineTools

    You just have to set it to the Xcode version. It automatically points to '/Application/Xcode.app'

5

I was having the same problem in high sierra. running the following command solved it

npm explore npm -g -- npm install node-gyp@latest
1
  • 1
    This worked for me, except I simply reinstalled with npm -g install node-gyp@latest
    – ty.
    Commented Mar 4, 2019 at 21:49
5

All I did which worked is run the command on the terminal:

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

4

Simple reinstall xcode-select

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

Please follow the steps below :

  1. The latest version of Xcode can be downloaded from https://developer.apple.com/xcode/download/
  2. It will be downloaded in the 'Downloads' unless specified otherwise. Please make sure to check the path where you have downloaded and extracted the Xcode
  3. Now unlike other downloaded applications, on extraction, Xcode doesn't give the option to move it to Applications
  4. Note the XCODE-ACTUAL-LOCATION or move it to the Applications
  5. Note if you have downloaded Xcode or Xcode-beta

Based on 4 and 5, execute one of the commands (Do not execute all of them without reading above description):

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer
sudo xcode-select -s /[XCODE-ACTUAL-LOCATION]/Xcode.app/Contents/Developer
sudo xcode-select -s /[XCODE-ACTUAL-LOCATION]/Xcode-beta.app/Contents/Developer
1
  • 2020, Xcode this works for me. Thank you. Please read carefully.
    – MGY
    Commented Nov 12, 2020 at 12:28
3

Install Xcode from App Store. After installing run xcodebuild with root privileges i.e. sudo xcodebuild and accept the language. After this npm install bcrypt worked like a charm!

3

Without Xcode: create file /usr/local/bin/xcodebuild with content to cheat XcodeSelect

  #!/bin/bash
  exit 0

chmod +x /usr/local/bin/xcodebuild

2
  • I must say I'm having issues with node-gyp for some reason running xcodebuild when I only have CLT installed. I'd rather not install Xcode just to install some native extensions nothing to do with Mac and iOS development, so I'm very up for trying this technique to basically just shut the error up. Do you know if there are any repercussions of doing this? I can only imagine that node-gyp s calling xcodebuild for a reason, and by doing an exit 0 we're breaking the toolchain for a given build, but I'm not sure, as I don't know why it'd be using xcodebuild in the first place. Any ideas? Commented May 10, 2016 at 9:33
  • 1
    I tried this, it made no difference unfortunately. I really don't want to install XCode - this is just some Apple marketing BS to force you to install it.
    – Alex
    Commented Sep 11, 2017 at 9:27
2

In case you are using Xcode beta, run

sudo xcode-select --switch /Applications/Xcode-beta.app/Contents/Developer 

instead of

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
2

I was able to solve this error without installing the full Xcode application. You must, however, have xcode command line tools installed.

From here:

  1. $ cd /usr/bin
  2. $ sudo mv xcodebuild xcodebuild.orig (A backup just in case)
  3. $ vim xcodebuild
  4. Paste the following:
#!/bin/bash
if [[ $1 == '-version' ]]; then
  echo "Xcode 10.2.1"
  echo "Build version 10E1001"
else
  /usr/bin/xcodebuild.bak $@
fi
  1. $ sudo chmod +x xcodebuild
1
  • Nice answer. Also appreciate you referencing the original source. :)
    – Monomeeth
    Commented Apr 28, 2020 at 5:57
1

XCode2: sudo xcode-select -s /Applications/Xcode\ 2.app/Contents/Developer

Pay attention to the "\" to escape the space

1

I had two instance of Xcode installed xcode.app and xcode-beta.app When I tried to create a build with netbeans it showed me the error "supported version of xcode and command line tools not found netbeans"

I followed the following steps:

  1. "xcode-select --print-path" is equal to "/Applications/Xcode.app/Contents/Developer"
  2. "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform" exists
  3. "xcodebuild -version" starts with "Xcode"

after 1 I found that it is pointing me to xcode-beta.app

so here is the solution which worked like a charm:

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

1

For context, today is Jan 28, 2019.

On my Mac, I did two things to resolve this problem:

  1. Run the following command in your terminal:
    sudo xcode-select --install

  2. Restart your Mac.

Until I restarted the computer, the problem kept occurring in my Android Studio. After reboot, it was working just fine. Also note that I did not execute any --switch commands as others are doing. I hope this helps.

0
1

Manually installing Command LineTool worked for me.

  1. I stalled xcode through App Store
  2. Still could not download Homebrew
  3. I installed Command Line Tool manually through link.
  4. Bing Bang Boom

https://developer.apple.com/download/more/?=command%20line%20tools

1

For those using a newer version of Xcode (I'm using 14.3), you need to install command Line tools. I suggest two ways.

  1. Either run this command on terminal:

    xcodebuild -runFirstLaunch xcode-select --install

  2. Or download the installable DMG file (command line tools for Xcode 14.3) from this link and install it.

I stumbled upon this issue when trying to install brew on macOS 13.3.

0
sudo xcode-select -s /Applications/Xcode 10.app/Contents/Developer

languoguangs-iMac:/ languoguang$ sudo xcode-select -s /Applications/Xcode 10.app/Contents/Developer
xcode-select: error: invalid argument '10.app/Contents/Developer'
Usage: xcode-select [options]

Print or change the path to the active developer directory. This directory
controls which tools are used for the Xcode command line tools (for example, 
xcodebuild) as well as the BSD development commands (such as cc and make).

Options:
  -h, --help                  print this help message and exit
  -p, --print-path            print the path of the active developer directory
  -s <path>, --switch <path>  set the path for the active developer directory
  --install                   open a dialog for installation of the command line developer tools
  -v, --version               print the xcode-select version
  -r, --reset                 reset to the default command line tools path
languoguangs-iMac:/ languoguang$ sudo xcode-select -s "/Applications/Xcode 10.app/Contents/Developer"

because my Xcode name in Application is "Xcode 10",

sudo xcode-select -s "/Applications/Xcode 10.app/Contents/Developer"

works.

0

In my case,

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer 

didn't work because my Xcode had some special name. eg) Xcode_11.2.0_beta_2_stackoverflow.app

cd /applications
ls

Then I found my Xcode name, then replace it with

sudo xcode-select -s /Applications/{myXcodeName}.app/Contents/Developer 

It worked for me.

0

None of the above worked for me. I originally installed Command Line Tools separately, and then all of Xcode. What worked for me was to uninstall Command Line Tools as shown here. Then, when trying to run xcode-select again, I was asked to reinstall them.

*By the way, the very reason why I found this thread was because I had installed some libraries (particularly gcc) with macports, presumably using the old Command Line Tools, and then I installed the full Xcode midway into development. So anyways, for my case, I had to reinstall macports after removing the stand-alone Command Line Tools, reinstalling them, reinstalling gcc, and then my compilation worked.

0

There are only two steps required, and the full XCode.app is not required at all:

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

At this point the "Installing Softwre" dialog pops up:

enter image description here

That's it!

0

None of the above solutions helped me. I was working on an old project, and I had the latest version of NodeJs installed globally (v14.x) on my computer.

No node version above 10.1.x worked for me and when testing I received the same error as above.

Solution

  • I installed "n" which is a nodeJs version manager like nvm
  • I downgraded my nodeJs version to 9.x
  • npm install now works.

I will now need to update my versions, or Specify my node version in my package.json.

0

The simple fix that worked for me is drag and drop Xcode.app from the current location (In my case it was in downloads) to Applications.

0

Not the answer you're looking for? Browse other questions tagged or ask your own question.