每次我尝试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

当前回答

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

一旦我全局安装它

npm i -g node-gyp

它工作!(大苏尔)

其他回答

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

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重新安装。它工作。

这适用于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命令行工具现在应该可以访问了。不需要重新安装任何东西。

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

一旦我全局安装它

npm i -g node-gyp

它工作!(大苏尔)

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

Sudo xcode-select—reset

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

so:

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

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

谢谢Stackoverflow !