gyp: binding.gyp not found
环境
- 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
输出信息结尾出现这个说明构建通过了:
补充
- 如果解决这个报错后你的项目仍然无法运行,尝试开启 Terminal 的网络代理或者全局代理重新安装依赖。可能有依赖需要从特定 URL 下载内容导致的,此时即使设置了 NPM 国内镜像源不奏效的。
- 如果你在安装 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的更多相关文章
- [Tips]Fix node.js addon build error: "gyp: binding.gyp not found"
基于node-gyp写Node.js native addon的时候,碰到一个很恶心的问题. 调用“node-gyp configure”能成功,再调用“node-gyp”时总会报错,最后发现时系统时 ...
- Node.js C++ 插件学习指南
Node.js插件(addons) Node.js 插件是用 C++ 编写的动态链接共享对象,可以使用 require() 函数加载到 Node.js 中,且像普通的 Node.js 模块一样被使用. ...
- 前端使用 node-gyp 构建 Native Addon
前端轮子千千万, 但还是有些瓶颈, 公司需要在前端调用自有 tcp 协议, 该协议只有 c++ 的封装版本. 领导希望可以直接调该模块, 不要重复造轮子. 实话说我对 C 还有点印象, 毕竟也是有二级 ...
- [转]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. ...
- node gyp的问题
解决 binding.gyp not found (xxx/xxx/xxx) while trying to load binding.gyp 问题 在使用ccap图形验证码模块时遇到这个问题 Err ...
- gyp编译工具
最近用到了 node-gyp 这个工具, 是node 社区对 google gyp 编译工具的一个封装, 使用 node-gyp 工具可以用C++为node 项目编写 addon. 了解了一下 goo ...
- npm package.json属性详解
概述 本文档是自己看官方文档的理解+翻译,内容是package.json配置里边的属性含义.package.json必须是一个严格的json文件,而不仅仅是js里边的一个对象.其中很多属性可以通过np ...
- 【原】npm 常用命令详解
今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...
- package.json 字段全解析
Name 必须字段. 小提示: 不要在name中包含js, node字样: 这个名字最终会是URL的一部分,命令行的参数,目录名,所以不能以点号或下划线开头: 这个名字可能在require()方法中被 ...
- 为Node.js编写组件的几种方式
本文主要备忘为Node.js编写组件的三种实现:纯js实现.v8 API实现(同步&异步).借助swig框架实现. 关键字:Node.js.C++.v8.swig.异步.回调. 简介 首先介绍 ...
随机推荐
- 鸿蒙运动开发实战:打造 Keep 式轨迹播放效果
前言 在运动类应用中,轨迹播放效果是提升用户体验的关键功能之一.它不仅能直观展示用户的运动路线,还能通过动态效果增强运动的趣味性.Keep 作为一款知名的运动健身应用,其轨迹播放效果深受用户喜爱.那么 ...
- LocalDateTime与时间戳、日期字符串的转换
摘要:介绍LocalDateTime与时间戳.日期字符串的转换. 目录 需求背景 LocalDateTime转字符串 LocalDateTime转时间戳 时间戳转LocalDateTime 时间戳转日 ...
- 详解鸿蒙开发如何上传三方库到ohpm仓库
前两天幽蓝君在ohpm仓库上传了自己的第一个三方库,完整体验了一下ohpm的上传流程,感觉还是比较繁琐的,所以把上传流程和一些注意事项分享给大家. 先介绍一下怎么开发一个三方库,在项目名称右键,新建M ...
- Go中的interface(接口)
接口 接口(interface)定义了一个对象的行为规范,之定义规范不实现,由具体的对象来实现规范的细节. 接口类型 在Go语言中接口(interface)是一种类型,一种抽象的类型. interfa ...
- USB over IP技术简介
1. USBIP 简介 在 USB 系统中,USB 设备和 USB 主机间通过 USB 线连接在一起.USB 线的长度较短,USB 设备只能安装到 USB 主机周边,设备和主机的距离也就很短.USB ...
- USB Gadget设备软插拔异常的处理方法
技术背景 我们的板子作为 USB Gadget 设备通过 USB 线接入 USB 主机使用,我们的板子被主机识别为一个 Compsite Device,这个 Compsite Device 是由我们板 ...
- 开源共建 | TIS整合数据同步工具ChunJun,携手完善开源生态
TIS整合ChunJun实操 B站视频: https://www.bilibili.com/video/BV1QM411z7w5/?spm_id_from=333.999.0.0 一.ChunJun ...
- pg 随机函数 和uuid 生成
UUID生成 -- 创建 create extension "uuid-ossp" ; -- 使用 select uuid_generate_v4() -- 创建随机函数 CREA ...
- C# .NET ThreadPool 实现概述及
微信公众平台 (qq.com) 在.NET中,ThreadPool(线程池)是一个用于管理和优化线程使用的强大工具.线程池允许开发者在需要时创建线程,执行任务,并在任务完成后回收线程,从而避免了线程的 ...
- 学习spring cloud记录10-nacos搭建集群
前言 资源有限,在一台电脑上模拟搭建 搭建 新建数据库 新建nacos数据库,在下载的nacos压缩包中,config目录下有数据表,导入即可 配置nacos 进入nacos/conf目录下,修改cl ...