'`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
> [email protected] 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 [email protected] 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: [email protected] (node_modules/watchpack/node_modules/fsevents):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
Solution 1:[1]
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
Solution 2:[2]
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.
Solution 3:[3]
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 saysCan'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 theSoftware 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
.
Solution 4:[4]
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
Solution 5:[5]
I reinstalled the command line tools.
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
Solution 6:[6]
This worked for me
sudo xcode-select --reset
Solution 7:[7]
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
.
Solution 8:[8]
you will need to install xcode or command line tools
Solution 9:[9]
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.
Solution 10:[10]
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.
Solution 11:[11]
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)
Solution 12:[12]
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.
Solution 13:[13]
I was getting the same error when the project required node version 10
but I had 12+
Solution 14:[14]
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!
Solution 15:[15]
on catalina had to manually install command line tools for xcode from https://developer.apple.com/download/more/
Solution 16:[16]
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.
Solution 17:[17]
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 andnode_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
Solution 18:[18]
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
Solution 19:[19]
Run the following command with sudo to reset your command-line tools.
sudo xcode-select --reset
Solution 20:[20]
In my case I deleted package.lock.json and it worked, I already had xCode installed
Solution 21:[21]
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.
Solution 22:[22]
None of these answers worked for me, because I had a corrupt install of XCode, once I uninstalled, npm worked again
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow