环境

  • 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. 鸿蒙运动开发实战:打造 Keep 式轨迹播放效果

    前言 在运动类应用中,轨迹播放效果是提升用户体验的关键功能之一.它不仅能直观展示用户的运动路线,还能通过动态效果增强运动的趣味性.Keep 作为一款知名的运动健身应用,其轨迹播放效果深受用户喜爱.那么 ...

  2. LocalDateTime与时间戳、日期字符串的转换

    摘要:介绍LocalDateTime与时间戳.日期字符串的转换. 目录 需求背景 LocalDateTime转字符串 LocalDateTime转时间戳 时间戳转LocalDateTime 时间戳转日 ...

  3. 详解鸿蒙开发如何上传三方库到ohpm仓库

    前两天幽蓝君在ohpm仓库上传了自己的第一个三方库,完整体验了一下ohpm的上传流程,感觉还是比较繁琐的,所以把上传流程和一些注意事项分享给大家. 先介绍一下怎么开发一个三方库,在项目名称右键,新建M ...

  4. Go中的interface(接口)

    接口 接口(interface)定义了一个对象的行为规范,之定义规范不实现,由具体的对象来实现规范的细节. 接口类型 在Go语言中接口(interface)是一种类型,一种抽象的类型. interfa ...

  5. USB over IP技术简介

    1. USBIP 简介 在 USB 系统中,USB 设备和 USB 主机间通过 USB 线连接在一起.USB 线的长度较短,USB 设备只能安装到 USB 主机周边,设备和主机的距离也就很短.USB ...

  6. USB Gadget设备软插拔异常的处理方法

    技术背景 我们的板子作为 USB Gadget 设备通过 USB 线接入 USB 主机使用,我们的板子被主机识别为一个 Compsite Device,这个 Compsite Device 是由我们板 ...

  7. 开源共建 | TIS整合数据同步工具ChunJun,携手完善开源生态

    TIS整合ChunJun实操 B站视频: https://www.bilibili.com/video/BV1QM411z7w5/?spm_id_from=333.999.0.0 一.ChunJun ...

  8. pg 随机函数 和uuid 生成

    UUID生成 -- 创建 create extension "uuid-ossp" ; -- 使用 select uuid_generate_v4() -- 创建随机函数 CREA ...

  9. C# .NET ThreadPool 实现概述及

    微信公众平台 (qq.com) 在.NET中,ThreadPool(线程池)是一个用于管理和优化线程使用的强大工具.线程池允许开发者在需要时创建线程,执行任务,并在任务完成后回收线程,从而避免了线程的 ...

  10. 学习spring cloud记录10-nacos搭建集群

    前言 资源有限,在一台电脑上模拟搭建 搭建 新建数据库 新建nacos数据库,在下载的nacos压缩包中,config目录下有数据表,导入即可 配置nacos 进入nacos/conf目录下,修改cl ...