在运行需要 "node-gyp" 的 "npm install" 过程中,遇到了以下错误...但是任何需要 "xcode-select" 的东西都可能会引发此错误。
问题是什么?
从App Store下载Xcode。
前往Xcode偏好设置/位置/命令行工具
只需要将其设置为Xcode版本即可,它会自动指向'/Application/Xcode.app'
我在High Sierra上遇到了同样的问题。 运行以下命令解决了它。
npm explore npm -g -- npm install node-gyp@latest
npm -g install node-gyp@latest
重新安装了它。 - ty.简单重新安装 xcode-select
sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer
sudo xcode-select -s /[XCODE-ACTUAL-LOCATION]/Xcode.app/Contents/Developer
sudo xcode-select -s /[XCODE-ACTUAL-LOCATION]/Xcode-beta.app/Contents/Developer
/usr/local/bin/xcodebuild
,并将其内容设置为欺骗XcodeSelect。 #!/bin/bash
exit 0
chmod +x /usr/local/bin/xcodebuild
xcodebuild
。我宁愿不安装Xcode来安装一些与Mac和iOS开发无关的本地扩展,所以我非常希望尝试这种技术,基本上只是让错误消失。您知道这样做是否会有任何后果吗?我想象只能说明node-gyp之所以调用xcodebuild
是有原因的,通过执行exit 0
,我们可能会破坏给定构建的工具链,但我不确定,因为我不知道为什么它首先要使用xcodebuild
。你有什么想法吗? - alexrussellsudo xcodebuild
,并接受语言设置。执行完以上步骤后,npm install bcrypt
就能很愉快地工作啦!In case you are using Xcode beta, run
sudo xcode-select --switch /Applications/Xcode-beta.app/Contents/Developer
替代
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
$ cd /usr/bin
$ sudo mv xcodebuild xcodebuild.orig
(备份一下)$ vim xcodebuild
- 粘贴以下内容:
#!/bin/bash
if [[ $1 == '-version' ]]; then
echo "Xcode 10.2.1"
echo "Build version 10E1001"
else
/usr/bin/xcodebuild.bak $@
fi
$ sudo chmod +x xcodebuild
XCode2: sudo xcode-select -s /Applications/Xcode\ 2.app/Contents/Developer
注意使用“\”来转义空格。