在运行npm安装时看到以下错误,需要node-gyp…但可以被任何需要xcode-select的东西触发。

xcodebuild工具需要Xcode,但是是活动的 开发者目录'/Library/ developer /CommandLineTools'是一个命令 直线工具实例

有什么问题吗?


当前回答

就我而言,

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer 

因为我的Xcode有一些特殊的名字。如)Xcode_11.2.0_beta_2_stackoverflow.app

cd /applications
ls

然后我找到了我的Xcode名称,然后用

sudo xcode-select -s /Applications/{myXcodeName}.app/Contents/Developer 

这对我很管用。

其他回答

没有Xcode:创建文件/usr/local/bin/xcodebuild的内容来欺骗XcodeSelect

  #!/bin/bash
  exit 0

Chmod +x /usr/local/bin/xcodebuild

以上的解决方案都对我没有帮助。我在做一个老项目,我的电脑上安装了最新版本的NodeJs (v14.x)。

不支持10.1以上的节点版本。x为我工作,测试时,我收到了相同的错误上面。

解决方案

我安装了“n”,这是一个nodeJs版本管理器,比如nvm 我把我的nodeJs版本降级到9.x NPM安装现在工作了。

我现在需要更新我的版本,或者在package.json中指定我的节点版本。

只需运行sudo xcode-select -r即可自动重置路径。

 -r, --reset
              Unsets any user-specified developer directory, so that the developer directory will be found via the default search mechanism. This command must  be
              run with superuser permissions (see sudo(8)), and will affect all users on the system.

在你的终端中输入这个

xcode-select --install
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -license accept

对于那些不想安装Xcode的人,还有其他解决方案:

安装命令行工具(如果你还没有): xcode-select——安装 修改主目录: sudo xcode-select -switch /Library/Developer/CommandLineTools

这对我很管用(git)。