We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
升级到 macos v10.15 之后,nodejs无法正常编译 c++ 库,node-gyp 文档给了解决方案,本篇是其的简短翻译。
当升级到 macOS Catalina 或者使用 Software Update 会造成 node-gyp 安装失败。一般在 npm install 的时候会遇到下面这个错误:
node-gyp
npm install
gyp: No Xcode or CLT version detected!
最新版本的 node-gyp 或许可以解决这个错误。如果你直接使用使用 node-gyp 你应该安装使用 node-gyp v7。
如果你在 npm install 中使用 node-gyp(注:npm install 一些 C++ 扩展),你应该使用全局安装的 node-gyp :
npm config set node_gyp <path to node-gyp>
npm_config_node_gyp=<path to node-gyp> npm install
注意,如果使用了这种方式,那么必须要注意更新 node-gyp 的版本。另外可以使用 npm config delete node_gyp 删除之前的配置。
npm config delete node_gyp
当使用 v7 之前的老版本 node-gyp 可以按照下面流程进行。
$ sw_vers ProductName: Mac OS X ProductVersion: 10.15 BuildVersion: 19A602
如果 ProductVersion 低于 10.15 那么不要继续进行下面的操作,而是使用 REAMDME.md 这里的指南进行。
ProductVersion
CLT
可以使用下面脚本确定是否安装了 XCode Command Line Tools
XCode Command Line Tools
curl -sL https://github.com/nodejs/node-gyp/raw/master/macOS_Catalina_acid_test.sh | bash
如果测试成功,那么可以在项目里里面重新尝试 npm install 。
如果测试失败,那么需要先进行安装 XCode Command Line Tools。
有三种方式进行安装:
xcodebuild
XCode 11.1
Command Line Tools
sudo xcodebuild -license accept
softwareupdate -l
xcode-select -version
xcode-select version 2370
xcode-select -print-path
/Applications/Xcode.app/Contents/Developer
sudo xcode-select --reset
xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
XCL
sudo rm -rf $(xcode-select -print-path)
sudo rm -rf /Library/Developer/CommandLineTools
npm explore npm -g -- npm install node-gyp@latest
npm explore npm -g -- npm explore npm-lifecycle -- npm install node-gyp@latest
The text was updated successfully, but these errors were encountered:
No branches or pull requests
升级到 macos v10.15 之后,nodejs无法正常编译 c++ 库,node-gyp 文档给了解决方案,本篇是其的简短翻译。
当升级到 macOS Catalina 或者使用 Software Update 会造成
node-gyp
安装失败。一般在npm install
的时候会遇到下面这个错误:gyp: No Xcode or CLT version detected!
使用 node-gyp v7
最新版本的
node-gyp
或许可以解决这个错误。如果你直接使用使用node-gyp
你应该安装使用 node-gyp v7。如果你在
npm install
中使用 node-gyp(注:npm install 一些 C++ 扩展),你应该使用全局安装的 node-gyp :npm config set node_gyp <path to node-gyp>
或者npm_config_node_gyp=<path to node-gyp> npm install
注意,如果使用了这种方式,那么必须要注意更新 node-gyp 的版本。另外可以使用
npm config delete node_gyp
删除之前的配置。使用老版本 node-gyp
当使用 v7 之前的老版本 node-gyp 可以按照下面流程进行。
确认是否在使用 macOS Catalina
如果
ProductVersion
低于 10.15 那么不要继续进行下面的操作,而是使用 REAMDME.md 这里的指南进行。确定是否安装
CLT
(acid test)可以使用下面脚本确定是否安装了
XCode Command Line Tools
curl -sL https://github.com/nodejs/node-gyp/raw/master/macOS_Catalina_acid_test.sh | bash
如果测试成功,那么可以在项目里里面重新尝试
npm install
。如果测试失败,那么需要先进行安装
XCode Command Line Tools
。有三种方式进行安装:
xcodebuild
应该打印XCode 11.1
或更新Command Line Tools
选项为空,那么选择一sudo xcodebuild -license accept
同意软件许可证协议(license term)softwareupdate -l
没有需要更新的软件xcode-select -version
应该返回xcode-select version 2370
或更新xcode-select -print-path
应该返回/Applications/Xcode.app/Contents/Developer
CLT
的命令sudo xcode-select --reset
没有任何输出是正常的,否则从第 7 步重新开始xcode-select --install
命令最小安装xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
需要尝试删除 XCL 后重装。softwareupdate -l
没有需要更新的软件xcode-select -version
应该返回xcode-select version 2370
或更新xcode-select -print-path
应该返回/Applications/Xcode.app/Contents/Developer
sudo xcode-select --reset
接着从第 1 步开始卸载重装
XCL
sudo rm -rf $(xcode-select -print-path)
没有输出为正常sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --reset
xcode-select --install
npm explore npm -g -- npm install node-gyp@latest
npm explore npm -g -- npm explore npm-lifecycle -- npm install node-gyp@latest
The text was updated successfully, but these errors were encountered: