环境

  • win11(MacOS 虚拟机)
  • node v20.11.1(fnm)
  • pnpm

问题描述

前端工程安装 NPM 依赖时报错 gyp: binding.gyp not found

解决方式

找到上图报错信息中的 cwd 后面的路径,我这里是:

C:\Users\guangzanwang\code\puppet-xp-getting-started\node_modules\.pnpm\frida@15.2.2\node_modules\frida

在这个路径下创建文件 binding.gyp,并写入以下内容(sources 改成你的 NodeJS 路径):

{
"targets": [{
"target_name": "binding",
"sources": [ "C:/Users/guangzanwang/AppData/Roaming/fnm/node-versions/v20.11.1/installation" ]
}]
}

在这个目录下运行命令:

node-gyp rebuild

输出信息结尾出现这个说明构建通过了:

补充

  1. 如果解决这个报错后你的项目仍然无法运行,尝试开启 Terminal 的网络代理或者全局代理重新安装依赖。可能有依赖需要从特定 URL 下载内容导致的,此时即使设置了 NPM 国内镜像源不奏效的。
  2. 如果你在安装 node-gyp 等类似 NPM 包,它们在安装时依赖 Visual C++ compilers and libraries、Python 等系统环境自动执行 NPM Scripts 构建需要的内容。此时如果你的系统缺少这些环境也会导致安装失败,你可以去查看 NPM 包对应的安装要求(www.npmjs.com、Github)。由于需要安装的内容较多和复杂,最快的解决方式是卸载所有 node 版本,卸载所有 node 包管理器,比如 nvm、fnm,重新通过 node installer 安装 node,在安装前,仍然建议打开网络代理,并且在安装步骤中勾选:

参考资料

gyp: binding.gyp not found的更多相关文章

  1. [Tips]Fix node.js addon build error: "gyp: binding.gyp not found"

    基于node-gyp写Node.js native addon的时候,碰到一个很恶心的问题. 调用“node-gyp configure”能成功,再调用“node-gyp”时总会报错,最后发现时系统时 ...

  2. Node.js C++ 插件学习指南

    Node.js插件(addons) Node.js 插件是用 C++ 编写的动态链接共享对象,可以使用 require() 函数加载到 Node.js 中,且像普通的 Node.js 模块一样被使用. ...

  3. 前端使用 node-gyp 构建 Native Addon

    前端轮子千千万, 但还是有些瓶颈, 公司需要在前端调用自有 tcp 协议, 该协议只有 c++ 的封装版本. 领导希望可以直接调该模块, 不要重复造轮子. 实话说我对 C 还有点印象, 毕竟也是有二级 ...

  4. [转]Converting a C library to gyp

    Source:http://n8.io/converting-a-c-library-to-gyp/ Converting a C library to gyp Published: 2012.10. ...

  5. node gyp的问题

    解决 binding.gyp not found (xxx/xxx/xxx) while trying to load binding.gyp 问题 在使用ccap图形验证码模块时遇到这个问题 Err ...

  6. gyp编译工具

    最近用到了 node-gyp 这个工具, 是node 社区对 google gyp 编译工具的一个封装, 使用 node-gyp 工具可以用C++为node 项目编写 addon. 了解了一下 goo ...

  7. npm package.json属性详解

    概述 本文档是自己看官方文档的理解+翻译,内容是package.json配置里边的属性含义.package.json必须是一个严格的json文件,而不仅仅是js里边的一个对象.其中很多属性可以通过np ...

  8. 【原】npm 常用命令详解

    今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...

  9. package.json 字段全解析

    Name 必须字段. 小提示: 不要在name中包含js, node字样: 这个名字最终会是URL的一部分,命令行的参数,目录名,所以不能以点号或下划线开头: 这个名字可能在require()方法中被 ...

  10. 为Node.js编写组件的几种方式

    本文主要备忘为Node.js编写组件的三种实现:纯js实现.v8 API实现(同步&异步).借助swig框架实现. 关键字:Node.js.C++.v8.swig.异步.回调. 简介 首先介绍 ...

随机推荐

  1. .NET外挂系列:3. 了解 harmony 中灵活的纯手工注入方式

    一:背景 1. 讲故事 上一篇我们讲到了 注解特性,harmony 在内部提供了 20个 HarmonyPatch 重载方法尽可能的让大家满足业务开发,那时候我也说了,特性虽然简单粗暴,但只能解决 9 ...

  2. excel/wps, 转code128字体宏, 部分字符串出现空格, 导致条码断裂无法扫描的解决方案

    原宏是网上抄的, 传播比较广的那个. 后来发现, 部分条码出现空格断裂, 导致PDA无法扫描, 经搜索在一个帖子里, 发现是因为: 宏计算条码时, 会出现校验位刚好是空格的情况, 而空格在code12 ...

  3. GLSL的预处理器都有哪些规定?

    GLSL的预处理器都有哪些规定? 下面的内容,英文版取自GLSLangSpec.4.60.pdf,中文版是我的翻译,只求意译准确易懂,不求直译严格匹配. 3.3. Preprocessor There ...

  4. Spring扩展接口-InstantiationAwareBeanPostProcessor

    .markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...

  5. 告别图形界面:Windows系统OpenSSH服务部署

    前言 士别三日当刮目相待 没想到这么多年过去了,Windows 也不再是以前那个离开了图形界面啥也不是的系统 Windows 10/11 和 Server 2019+ 已内置 OpenSSH Serv ...

  6. 灵活、可用、高扩展,EasyMR 带来全新 Yarn 的队列管理功能及可视化配置

    YARN(Yet Another Resource Negotiator)是 Hadoop 生态系统中的资源调度器,主要用于资源管理和作业调度.YARN 自身具备队列管理功能,通过对 YARN 资源队 ...

  7. Linux 查找Redis配置信息

    前言 有时在使用Redis时密码或者配置信息经常忘记,应该怎么找回呢? 解决 如果设置了自启动,先查找服务状态(systemctl status redis服务名称) 根据服务可以找到服务的启动脚本, ...

  8. C++ set/multiset容器 学习总结

    -------------------------------------set/multiset容器 set/multiset特性 set/multiset的特性是所有元素会根据元素的值自动进行排序 ...

  9. Power BI: 设置切片器只能影响到指定的图表

    如下所示: 表一和表二的数据都来源于Staff表,切片器也来源于Staff表,但是希望当切片器的值发生变化时,只会影响到表二,表一永远显示所有的数据,不受切片器的影响. 做法如下: 选中切片器,菜单栏 ...

  10. js对象生成ts类型声明

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...