本文介绍了`npm install` 在 node-gyp 重建时失败,带有 `gyp:未检测到 Xcode 或 CLT 版本!`的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

每次我尝试npm install.我收到以下错误.我该如何解决?

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

gyp: No Xcode or CLT version detected!

我在 node -v → v8.8.0 &npm -v → v6.11.3

我尝试在 VSCode 终端和 iTerm 上运行它,但最终都出现了相同的错误.(两者都更新到最新版本).我所做的唯一新事情是将我的 macOS 更新到最新版本(今天是 Catalina 10.15.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

推荐答案

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

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.

因此,您希望只需(I) 重置该工具,或者在更糟糕的情况下(II) 卸载并安装(需要大量重新下载)再次(这是基于@Dane_duPlessis 的回答).

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

注意:

  • 您不需要为每个项目都做一次,而只需一次
  • 也有人讨论过你必须在每次 OSX 更新时都这样做,就我而言,后来更新 OSX 系统并没有再次触发这个问题

致谢:gyp:macOS Catalina 未检测到 Xcode 或 CLT 版本

这篇关于`npm install` 在 node-gyp 重建时失败,带有 `gyp:未检测到 Xcode 或 CLT 版本!`的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-20 14:01