macOS Big Sur:当我运行 `npm install` 时,在 `node-gyp rebuild` 步骤中出现错误:`gyp:未检测到 Xcode 或 CLT 版本!`

问题描述

在 macOS Big Sur 上, 使用节点 v14.17.1, 当我运行 npm install(对于包 jq
然后我收到错误(在安装依赖的 node_module contextify 期间):

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!

请注意,我已经安装了 Xcode 命令行工具。 xcode-select --install 显示

xcode-select: 错误:命令行工具已经安装,使用“软件更新”安装更新

并且“软件更新”中没有出现可能的更新。

注意:不确定这是否相关,但我的 Mac 今天早些时候进行了操作系统更新......

解决方法

存储库 node-gyp 包含专门针对 macOS Catalina 的故障排除指南:

https://github.com/nodejs/node-gyp/blob/master/macOS_Catalina.md

显然,它仍然适用于 macOS Big Sur ?

TLDR:

ma​​cOS Catalina (v10.15) 安装说明

升级到 macOS Catalina 并在 Catalina 可能会导致正常的 node-gyp 安装失败。这有可能 在 npm install 期间表现为以下错误:

gyp: No Xcode or CLT version detected!

解决方案

安装 Xcode 库 node-gyp 需要的三种方式 苹果系统。经营 Catalina 的人在一些方面取得了成功,但没有成功 其他人以一种不可预测的方式。

  • 使用来自 App Store 应用的完整 Xcode(下载约 7.6 GB)。
  • 通过 xcode-select --install 使用更小的 Xcode 命令行工具
  • 通过手动下载使用更小的 Xcode 命令行工具。

这为我“解决”了它:

从 Apple Developer 网页下载当前的 Xcode 命令行工具https://developer.apple.com/download/all/?q=command

(目前:Xcode 12.5.1 的命令行工具,安装程序大小 483 MB,需要 2.7 GB 磁盘空间)

虽然我现在在 node-gyp rebuild 期间遇到了进一步的构建错误......(对于包 contextify) - 但这可能应该单独解决。