ChatGPT解决这个技术问题 Extra ChatGPT

`npm install` fails on node-gyp rebuild with `gyp: No Xcode or CLT version detected!`

Every time I try npm install. I get the following error. How do I fix it?

gyp: No Xcode or CLT version detected!

I am on node -v → v8.8.0 & npm -v → v6.11.3

I tried to run it on VSCode terminal and iTerm, but both ended up getting the same error. (both are updated to the latest version). The only new thing I did is updating my macOS to the latest version (Catalina 10.15.3 today).

$ npm install          Fri Mar  6 17:22:40 2020

> fsevents@1.2.11 install /Users/synapse/Documents/synapsefi-dev-ui/node_modules/watchpack/node_modules/fsevents
> node-gyp rebuild

No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.

No receipt for 'com.apple.pkg.DeveloperToolsCLILeo' found at '/'.

No receipt for 'com.apple.pkg.DeveloperToolsCLI' found at '/'.

gyp: No Xcode or CLT version detected!
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/Users/synapse/.nvm/versions/node/v8.8.0/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:344:16)
gyp ERR! stack     at emitTwo (events.js:125:13)
gyp ERR! stack     at ChildProcess.emit (events.js:213:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 19.3.0
gyp ERR! command "/Users/synapse/.nvm/versions/node/v8.8.0/bin/node" "/Users/synapse/.nvm/versions/node/v8.8.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/synapse/Documents/synapsefi-dev-ui/node_modules/watchpack/node_modules/fsevents
gyp ERR! node -v v8.8.0
gyp ERR! node-gyp -v v5.0.3
gyp ERR! not ok
npm WARN synapsefi-dev-ui@2.0.20 No repository field.
npm WARN The package country-data is included as both a dev and production dependency.
npm WARN The package react-dropzone is included as both a dev and production dependency.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.11 (node_modules/watchpack/node_modules/fsevents):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.11 install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
Simply running sudo xcode-select --reset worked for me on Catalina.
Please see github.com/nodejs/node-gyp/blob/master/macOS_Catalina.md for a step by step guide on resolving this issue.
Confirming sudo xcode-select --reset worked for me on Catalina 10.15.7. I no longer get the error when creating a react project with npm; npx create-react-app naboo --template typescript

m
mPrinC

Even though you have them installed (my case), but by upgrading to Catalina (10.15.*) you can get this error (my case :) ).

Therefore, simply installing wouldn't help as you will get an error that they are already installed.

Therefore you need to hopefully just (I) reset the tool or in worse case (II) uninstall and install (requires large redownload) it again (this is based on the @Dane_duPlessis's answer).

# just for а preview (not necessary)
xcode-select --print-path
# in my case it printed `/Library/Developer/CommandLineTools`

# could be useful if the path is making a problem
sudo xcode-select --switch /Library/Developer/CommandLineTools

# only for the (I) resetting case
sudo xcode-select --reset

# only for the (II) uninstalling case - the next line deletes folder returned by the `xcode-select --print-path` command
sudo rm -rf $(xcode-select --print-path)


# only for the (II) uninstalling case - install tools (again) if you don't get a default installation prompt
xcode-select --install

NOTE:

You do not need to do it per project, but only once

There was also discussion that you have to do it on every OSX update, in my case, later updating the OSX system didn't trigger this issue again

Credits to: gyp: No Xcode or CLT version detected macOS Catalina


I just found out that whenever Apple pushes an update, it will always result in this error
Running xcode-select --install opens the install dialogue but then when I agree to terms and click on install it fails with: Can't install the software because it is currently not available from the Software Update Server
This solved the problem: stackoverflow.com/a/63990975/5112418
You can download the developer tools from here: developer.apple.com/download/more
If you too get the Can’t install the software because it is not currently available from the Software Update server error, and if you don't want to install Xcode, as the solution @AHonarmand linked suggests, simply download the command line tools manually from here developer.apple.com/download/more/?=command%20line%20tools -- that's what fixed this for me. EDIT: (Source: developer.apple.com/forums/thread/660641)
D
Dane_duPlessis

This worked for me with macOS Catalina Version 10.15.5:

$ xcode-select --print-path
/Applications/Xcode.app/Contents/Developer
$ sudo xcode-select --switch /Library/Developer/CommandLineTools
...
$ sudo xcode-select --reset
...

The xcode cli tools should now be accessible. No need to re-install anything.


Confirming this works on Catalina. Much easier than a full reinstall
This should be the main answer, no need for a lengthy reinstall. Worked on 10.15.7 Catalina
This worked for me perfectly!! This should be the correct answer.
Wish I knew about it before deleting my CommandLines directory.
This moment, when you just deleted the app, waiting for the reinstall and scroll through the other solutions... god damnit
U
Usman

I guess, you may have tried multiple solutions so far but if none of those solutions have worked for you yet, don't worry - I got you. :)

Non-working Solutions:

xcode-select --install didn't work for me (macOS Catalina 10.15.7) as it shows up a Software Update dialog box which says Can't install the software because it is currently not available from the Software Update Server. I also downloaded and install Xcode Command Line Tools from Apple's download website (https://developer.apple.com/download/more/?=for%20Xcode) but the problem re-appeared somehow or may be it didn't solve it in first place and I somehow didn't notice. sudo xcode-select --reset also didn't do the trick for me. Someone suggested to install whole XCode. No, thank you.

Working Solution:

Here is what worked for me i.e. reinstall Xcode Command Line Tools using Software Update manually.

Check if Command Line Tools Update is mentioned in your list of softwares to be updated by using following command: softwareupdate -l If Command Line Tools Update is not mentioned in that list, then manually make it part of the list using following command which will create a temporary file: sudo touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress Verify that the list now has the Command Line Tools mentioned by running softwareupdate -l again. Now, press Cmd+Space to initiate Mac's Spotlight Search. Search for Software Update. Start the Software Update. That will show you following kind of dialog for installing the Command Line Tools. Install away the update and be merry. :) Remove the temporary file created in Step 2: sudo rm /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress.


This is the only answer that worked for me. I'm on Mac OS Catalina 10.15.7. Thank you!
This also works for me. Thank you for saving me a lot of reinstall time.
This is what worked for me. Thank you! My command line tools had the correct install path but updating this way is what did the trick.
E
Ehsan Barkhordar

Try these commands:

sudo rm -rf $(xcode-select -print-path)

xcode-select --install

If the above didn't resolve your issue, you may have a problem with the path Xcode is installed at. Use the following to help if necessary.

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

sudo xcode-select --reset

A
Akhilesh Kumar

https://i.stack.imgur.com/oSBU3.png

I reinstalled the command line tools.

https://i.stack.imgur.com/qXKix.png

You need to find the installation directory.

xcode-select --print-path

Delete the existing installation:

sudo rm -r -f /Library/Developer/CommandLineTools

Install by running:

xcode-select --install

works flawlessly @Akhilesh!
It's installing now. Says "About 197 hours, 28 minutes remaining"... gotta love that
P
Preshan Pradeepa

This worked for me

sudo xcode-select --reset

Worked for me on macOS Catalina v10.15.7. It used to work a year ago, maybe before I upgrade to Catalina.
Just reset worked for me too. I'm using Big Sur 11.2.3.
Thanks, this worked for me too on Big Sur (MacOS v11.3)
J
Jeena

If your Mac has been upgraded to macOS Catalina (10.15), you need to install the XCode Command Line Tools by running xcode-select --install. Alternatively, if you already have the full Xcode installed, you can find them under the menuXcode → Open Developer Tool → More Developer Tools.


S
Siddhant

This happens most of the time when there is new OS updates happens. But I found a solutions to tackle this problem. You need to follow the below steps to solve.

Reinstall command-line tools by removing the previously installed version.

step1: First, get the location of the installed command-line tools

xcode-select --print-path

the result of the above command /Library/Developer/CommandLineTools

step2: removed the folder

sudo rm -rf /Library/Developer/CommandLineTools

step3 - install again

xcode-select --install

With the reinstallation of the command line developer tools the gyp: No Xcode or CLT version detected error message should disappear when you run any yarn or npm commands from the command line.


Update on my Answer above If you have updated your OS to OSX Catalina 10.15.7 then xcode-select --install might not work. You might get an error saying the software is not found on server. I have found 2 solutions for this Solution 1: If u can afford to have xcode App from App store which is of 11+ GB then you can fix the error. Solution 2; You can download the command line tool from official Apple Developer Account and install it. developer.apple.com/download/more/?=command%20line%20tools
T
Tuan Anh Tran

you will need to install xcode or command line tools


K
Klutch27

Running xcode-select --install attempts an install, but fails with the following error: Can't install the software because it is not currently available from the Software Update server. Here's what worked for me.

OS: Catalina 10.15.6
Xcode-select version: 2373

NOTE: Before running all this, I already had xcode-select version 2373 installed. But removing and reinstalling fixed the issue.

uninstall xcode-select

sudo rm -rf $(xcode-select -print-path)

Go to the app store, and download XCode. Open XCode. On initial load, it will update/install stuff. let this happen. From Apple Developers, manually download Command Line Tools for Xcode 12 Install the CLT for Xcode 12 package.

You should now be good to go.


m
musicformellons

this happened to me when i installed node-gyp as a dependancy and ran it in a script.

once i installed it globally

npm i -g node-gyp

it worked! (big sur)


j
jsbisht

On catalina i did the following:

xcode-select --print-path
sudo rm -rf /Library/Developer/CommandLineTools

And since install command doesnt work, I had to download it from: https://developer.apple.com/download/more/

From there install:

XCode 12
Command Line Tools for XCode 12

Post that removed existing node_modules and reinstalled through npm install. It worked.


G
GarryOne

I was getting the same error when the project required node version 10 but I had 12+


N
Neha Chaudhary
xcode-select --print-path

Above should give: /Library/Developer/CommandLineTools

sudo rm -r -f /Library/Developer/CommandLineTools
xcode-select --install

m
mate00

I did exactly this, my issue is gone now. First: xcode-select --print-path it gave path /Library/Developer/CommandLineTools

so:

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

it pops up the install window, just install and you are on your way.

Thanks Stackoverflow!


Duplicate answer.
M
Matthew Bravos

on catalina had to manually install command line tools for xcode from https://developer.apple.com/download/more/


this is better off as a comment rather than an answer because this is a link only answer
O
Oebrab

On macOS Catalina:

Uninstall "Command Line Tools for Xcode" with command sudo rm -rf $(xcode-select --print-path); Download "Command Line Tools for Xcode" at More Downloads for Apple Developers, then install it.


D
Dandgerson

If you don't want to install the Xcode Command Line Tools at all (like in my case).

You may try to:

delete package-lock.json file and node_modules directory (if it exist) and npm i again

it executes with some gyp warnings about No Xcode or CLI version detected, but works fine


a
arkan4ik92

I updated to Big Sur and receive this error when on Catalina was all ok. But I upgraded xcode and install in another folder.

To install in that folder where was all ok helped me


S
Sachin Nikumbh

Run the following command with sudo to reset your command-line tools.

sudo xcode-select --reset


C
Carlos Mori

In my case I deleted package.lock.json and it worked, I already had xCode installed


t
thomas latour

I tried everything and nothing worked. Personally, even if the problem was gyp, it was Next that bugged. So I downgraded in my node.js version. to install next.js and return to the latest version.


This does not really answer the question. If you have a different question, you can ask it by clicking Ask Question. To get notified when this question gets new answers, you can follow this question. Once you have enough reputation, you can also add a bounty to draw more attention to this question. - From Review
P
ProgrammerFL23

None of these answers worked for me, because I had a corrupt install of XCode, once I uninstalled, npm worked again


关注公众号,不定期副业成功案例分享
Follow WeChat

Success story sharing

Want to stay one step ahead of the latest teleworks?

Subscribe Now