node-gyp,mac,No Xcode or CLT version detected! 报错,npm

2020-11-06 02:00:06

参考链接  Mac 解决 gyp: No Xcode or CLT version detected! 报错


Mac解决:xcode-select: error: command line tools are already installed, use "Software Update" to install updates


我的macOS版本是macOS Catalina 10.15.2

在执行npm install下载项目的依赖包的时候出现的gyp报错,报错内容如下:
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 errorgyp ERR! stack Error: `gyp` failed with exit code: 1

后面还有一长串,就不全粘在这里了,主要的就是xcode出现错误,本人也是个小白,在网上搜了很久,大家给的解决方案大部分都是执行指令:

xcode-select --install


1、因为node项目终端报错:

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 errorgyp ERR! stack Error: `gyp` failed with exit code: 1

2、查阅相关博客后有以下解决方案

终端输入:

xcode-select --install

3、但未能解决问题,控制台

终端报错:

xcode-select: error: command line tools are already installed, use "Software Update" to install updates

4、终端输入如下命令查看当前CLT(Command Line Tools)版本

brew config

5、最后找到解决办法:

直接去Apple 官网下载最新版本的Command Line Tools安装即可,然后再通过brew config查看当前CLI版本号是否变更
链接:https://developer.apple.com/download/more/


  • 2020-11-23 08:52:59

    asm.js 和 Emscripten 入门教程

    asm.js 就是为了解决这两个问题而设计的:它的变量一律都是静态类型,并且取消垃圾回收机制。除了这两点,它与 JavaScript 并无差异,也就是说,asm.js 是 JavaScript 的一个严格的子集,只能使用后者的一部分语法。

  • 2020-11-23 09:11:07

    爬虫——记一次破解前端加密详细过程

    从最初使用webdriver+selenium爬虫到现在利用http请求解析html,经历过各种各样的问题,webdriver+selenium这种办法虽然万能,而且可以用JS写解析脚本方便调试,

  • 2020-11-24 19:18:43

    nuxtjs打成用于webview的相对路径

    路径为绝对路径,当项目的域名为二级域名的时候,就不能打包为这绝对路径了。 nuxt不同于vue项目,思索了许久,终于找到了配置的地方

  • 2020-11-24 23:22:59

    eruda,移动端网页调试神器

    webapp或者移动端网页需要嵌入到app时候,尤其是在APP内置的webView上加载我们的页面,想要查看手机浏览器信息是非常困难的事,当出现问题的时候,你又不能查看日志,一般会连接本地测试环境,然后在alert来打印日志

  • 2020-11-30 09:04:02

    js中set和get方法

    1. get和set是方法,因为是方法,所以可以进行判断 2. get一般是要返回的;而set是设置,不用返回 3. 如果调用对象内部的属性约定的命名方式是变量名前加_