' npm install '在node-gyp重建时失败,提示' gyp: No Xcode or CLT version detected!`

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

gyp: No Xcode or CLT version detected!

我在node -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
162084 次浏览

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

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

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

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

因此,你希望只需要(我)重置工具,或者在更糟糕的情况下,再(二)卸载安装(需要< >强大型redownload < / >强)它(这是基于@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

我也面临着同样的问题

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

re installing

您需要找到安装目录。

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 它给出路径/Library/Developer/CommandLineTools

所以:

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/ < / p >

从那里安装:

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。但是移除和重新安装解决了这个问题。

  1. 卸载xcode-select

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

  1. 到应用商店,下载XCode。

  2. < p >打开XCode。在初始加载时,它将更新/安装东西。让这一切发生吧。

  3. 从Apple Developers中手动下载Xcode 12的命令行工具

  4. 安装Xcode 12的CLT包。

现在应该可以开始了。

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

在macOS Catalina上:

  1. 卸载“xcode命令行工具”;使用命令sudo rm -rf $(xcode-select --print-path);
  2. 下载“xcode的命令行工具”;为苹果开发者提供更多下载量,然后安装它。

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

故障解决方案:

  1. xcode-select --install不适合我(macOS Catalina 10.15.7),因为它显示了一个软件更新对话框,上面写着Can't install the software because it is currently not available from the Software Update Server
  2. 我还从苹果的下载网站(https://developer.apple.com/download/more/?=for%20Xcode)下载并安装了Xcode命令行工具,但问题以某种方式重新出现,或者可能是它没有首先解决它,我不知为何没有注意到。
  3. sudo xcode-select --reset也没有为我做的把戏。
  4. 有人建议安装整个XCode。不用了,谢谢。

工作方案:

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

  1. 检查命令行工具更新是否在要更新的软件列表中使用以下命令:softwareupdate -l
  2. 如果命令行工具更新没有在列表中提到,那么使用下面的命令手动使它成为列表的一部分,这将创建一个临时文件:sudo touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
  3. 通过再次运行softwareupdate -l来验证列表现在有命令行工具。
  4. 现在,按Cmd+空格启动Mac的Spotlight搜索。搜索Software Update。启动Software Update
  5. 这将向您显示如下安装命令行工具的对话框。安装掉更新和快乐。:) 李enter image description here < / >
  6. 删除步骤2:sudo rm /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress中创建的临时文件。

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

你可以尝试:

  1. 删除package-lock.json文件和node_modules目录(如果存在)
  2. 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

上面应该给出:/图书馆/开发/ CommandLineTools

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

在Monterey上,我没有通过命令行通过AppStore安装Xcode

所以Xcode被安装在路径"/Applications/Xcode.app/"(或“"/Applications/ xcode x.x.x.p app"”)

但是xcode-select --print-path指向"/Library/Developer/CommandLineTools"

这个命令修复了

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

然后

npm install
npm rebuild

每一个作品