每次我尝试npm安装。我得到以下错误。我该怎么解决呢?

gyp: No Xcode or CLT version detected!

我在节点-v→v8.8.0和npm -v→v6.11.3

我尝试在VSCode终端和iTerm上运行它,但最终都得到了相同的错误。(两者都更新到最新版本)。我做的唯一一件新事情是将我的macOS更新到最新版本(今天是Catalina 10.15.3)。

$ 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

你需要安装xcode或命令行工具


如果你的Mac已经升级到macOS Catalina(10.15),你需要通过运行XCode -select——install来安装XCode命令行工具。或者,如果你已经安装了完整的Xcode,你可以在菜单下找到它们→打开开发人员工具→更多开发人员工具。


即使你已经安装了它们(我的情况),但升级到Catalina(10.15.*)你可以得到这个错误(我的情况:))。

因此,简单的安装不会有帮助,因为你会得到一个错误,他们已经安装。

因此,你只需要(I)重置工具,或者在更糟糕的情况下(II)卸载并重新安装(需要大量重新下载)它(这是基于@Dane_duPlessis的答案)。

# 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

注意:

你不需要每个项目都这样做,但只需要做一次 也有讨论说,你必须在每次OSX更新时都这样做,在我的情况下,后来更新OSX系统没有再次触发这个问题

到:gyp:没有Xcode或CLT版本检测到macOS Catalina


我也面临着同样的问题

我重新安装了命令行工具。

您需要找到安装目录。

xcode-select --print-path

删除现有安装:

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

通过运行安装:

xcode-select --install

试试这些命令:

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

xcode-select --install

如果以上没有解决你的问题,你可能是安装Xcode的路径有问题。如有必要,请使用以下方法。

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

sudo xcode-select --reset

当有新的操作系统更新时,大多数情况下都会发生这种情况。 但我找到了解决这个问题的办法。您需要按照以下步骤来解决。

通过删除以前安装的版本重新安装命令行工具。

step1:首先,获取已安装的命令行工具的位置

xcode-select --print-path

上面的命令/Library/Developer/CommandLineTools的结果

步骤2:删除文件夹

sudo rm -rf /Library/Developer/CommandLineTools

步骤3 -重新安装

xcode-select --install

通过重新安装命令行开发工具,当你从命令行运行任何yarn或npm命令时,gyp: No Xcode或CLT version detected错误消息应该会消失。


我就是这么做的,我的问题现在没了。 第一: xcode-select——print-path 给出了path /Library/Developer/CommandLineTools

so:

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

它会弹出安装窗口,只要安装,你就可以上路了。

谢谢Stackoverflow !


这适用于macOS Catalina 10.15.5版本:

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

xcode命令行工具现在应该可以访问了。不需要重新安装任何东西。


在卡特琳娜,我做了以下的事情:

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

由于安装命令不起作用,我不得不从以下网站下载: https://developer.apple.com/download/more/

从那里安装:

XCode 12
Command Line Tools for XCode 12

Post删除了现有的node_modules,并通过npm install重新安装。它工作。


运行xcode-select——install尝试安装,但失败,报错如下:无法安装软件,因为当前软件更新服务器上不可用。以下是对我有效的方法。

OS: Catalina 10.15.6
Xcode-select version: 2373

注意:在运行所有这些操作之前,我已经安装了xcode-select version 2373。但是移除和重新安装解决了这个问题。

卸载xcode-select

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

去应用商店下载XCode。 打开XCode。在初始加载时,它将更新/安装东西。让这一切发生吧。 从Apple Developers手动下载Xcode 12的命令行工具 安装CLT for Xcode 12包。

现在应该可以开始了。


在catalina上必须手动从https://developer.apple.com/download/more/安装xcode命令行工具


在macOS Catalina上:

使用sudo rm -rf $(Xcode -select——print-path)卸载Xcode命令行工具; 在苹果开发者的更多下载中下载“Xcode命令行工具”,然后安装它。


我猜,到目前为止,你可能已经尝试了多种解决方案,但如果这些解决方案都不适合你,别担心——我懂你的。:)

故障解决方案:

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.

工作方案:

以下是对我有效的方法,即手动使用软件更新重新安装Xcode命令行工具。

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.


如果你根本不想安装Xcode命令行工具(就像我的情况)。

你可以尝试:

删除package-lock。Json文件和node_modules目录(如果存在的话) 又是NPM I

它执行时带有一些gyp警告,提示没有检测到Xcode或CLI版本,但工作正常


这对我很有效

sudo xcode-select --reset

我更新到大苏尔,收到这个错误时,在卡特琳娜是一切正常。但是我升级了xcode并安装在另一个文件夹中。

安装在那个文件夹,一切都好,帮助我


当我将node-gyp作为依赖项安装并在脚本中运行时,就发生了这种情况。

一旦我全局安装它

npm i -g node-gyp

它工作!(大苏尔)


使用sudo执行以下命令,重置命令行工具。

Sudo xcode-select—reset


在我的情况下,我删除package.lock.json,它工作了,我已经安装了xCode


我什么都试过了,都没用。就我个人而言,即使问题出在gyp上,问题出在Next上。所以我在node.js版本中降级了。安装next.js并返回最新版本。


这些答案都不适合我,因为我有一个损坏的XCode安装,一旦我卸载,npm又工作了


当项目需要节点版本10时,我得到了相同的错误,但我有12+


xcode-select --print-path

上面应该给出:/Library/Developer/CommandLineTools

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

在Monterey上,我是通过AppStore而不是命令行安装Xcode的。

Xcode安装在“/Applications/Xcode”路径下。app/"(或"/Applications/ xcode .x.x. "应用程序”)

但是xcode-select——print-path指向“/Library/Developer/CommandLineTools”

这个命令修复了

sudo xcode-select --switch /Applications/Xcode.app/

Then

npm install
npm rebuild

每一个作品