news 2026/4/14 15:13:00

Node.js NativeAddon 构建工具:node-gyp 安装与配置完全指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Node.js NativeAddon 构建工具:node-gyp 安装与配置完全指南

Node.js NativeAddon 构建工具:node-gyp 安装与配置完全指南

node-gyp Node.js native addon build tool [这里是图片001] 项目地址: https://gitcode.com/gh_mirrors/no/node-gyp

项目基础介绍及主要编程语言

Node.js NativeAddon 构建工具(node-gyp)是一个基于 Node.js 的跨平台命令行工具,专用于编译 Node.js 的原生插件模块。它内部封装了源自Chromium团队使用的 gyp-next 项目,并针对 Node.js 模块开发进行了扩展。值得注意的是,node-gyp 不用来构建 Node.js 自身,而是专注于让开发者能够轻松地在不同的操作系统上编译原生模块。这个工具支持多种版本的 Node.js,并自动匹配对应版本的开发文件。

主要编程语言:JavaScript 和 C/C++

关键技术和框架

  • GYP (Generate Your Projects):由Google开发,用于生成构建文件,如Makefiles或Visual Studio解决方案。
  • Node.js API:利用Node.js的进程环境来配置构建过程。
  • Python (>= v3.12 for node-gyp >= v10):作为辅助工具,在编译过程中用于执行部分脚本。
  • Make (Unix/Linux)Visual Studio 工具链 (Windows):实际执行编译任务的系统工具。

安装与配置详细步骤

准备工作
系统需求

确保你的系统中已安装以下组件:

  • Node.js: 最新或目标版本的Node.js。
  • Python: 对于node-gyp >= v10,推荐安装Python 3.12及以上版本。
  • 开发工具包:
    • Unix/Linux: Python, make工具,以及GCC/G++编译器。
    • macOS: Python, Xcode Command Line Tools(包含clang等)。
    • Windows: Python, Visual Studio Build Tools含C++工具集或Visual Studio 2019/2022(带有桌面开发C++的工作负载)。
全球安装node-gyp

通过npm全局安装node-gyp,确保你的Node.js已正确设置PATH环境变量。

npm install -g node-gyp
配置Python路径

如果你有多个Python版本,需指定node-gyp应使用的版本:

  • Linux/macOS:

    export npm_config_python=“/path/to/python”

  • Windows CMD:

    set npm_config_python=C:path opython.exe

  • Windows PowerShell:

    $Env:npm_config_python=“C:path opython.exe”

或者,直接在命令行调用时指定--python参数。

在特定平台上完成配置
Unix/Linux

确保Python和make工具已就位,还需安装gcc/g++。

macOS

安装Xcode Command Line Tools或单独安装如果已经拥有Xcode。

xcode-select --install
Windows

使用Chocolatey或手动下载安装Python和Visual Studio Build Tools(选择Desktop development with C++ workload)。

  • Chocolatey方式:

    choco install python visualstudio2022-workload-vctools -y

手动配置可能涉及更多的环境变量设置和组件选择。

使用node-gyp编译模块

假设你已经有了一个包含binding.gyp的原生模块项目,基本流程如下:

  1. 进入模块目录:

    cd your-native-module
  2. 配置项目(通常不需要额外参数,除非特别指定Python版本或其他编译选项):

    node-gyp configure

    对于特定编译环境(如Visual C++ Build Tools 2015),可能需要指定--msvs_version=2015

  3. 编译模块:

    node-gyp build

若要创建调试版本,添加--debug-d标志。

至此,你就成功完成了node-gyp的安装与配置,可以在Node.js应用中通过require()调用编译后的原生模块了。


此指南提供了清晰的步骤以帮助新手快速入门node-gyp,但具体细节可能随Node.js版本或系统更新而变化,请参考官方文档获取最新信息。

node-gyp Node.js native addon build tool [这里是图片002] 项目地址: https://gitcode.com/gh_mirrors/no/node-gyp

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 4:11:56

LCD12864模块使用教程:零基础项目应用

从零开始玩转LCD12864:嵌入式开发中的“老派但靠谱”显示方案你有没有遇到过这样的场景?手里的单片机项目已经能采集传感器数据、执行控制逻辑,甚至还能通过串口把信息发给电脑——但一旦脱离上位机,设备就像个“哑巴”&#xff0…

作者头像 李华
网站建设 2026/4/11 1:52:49

[特殊字符]_微服务架构下的性能调优实战[20260110171333]

作为一名经历过多个微服务架构项目的工程师,我深知在分布式环境下进行性能调优的复杂性。微服务架构虽然提供了良好的可扩展性和灵活性,但也带来了新的性能挑战。今天我要分享的是在微服务架构下进行性能调优的实战经验。 💡 微服务架构的性…

作者头像 李华
网站建设 2026/4/11 13:48:05

Excel数据透视表:如何显示未使用的数据验证列表项

在Excel中,数据透视表是强大的数据分析工具,能够快速汇总和分析大量数据。然而,当你试图在数据透视表中显示一个包含未使用项目的数据验证列表时,可能会遇到一些挑战。本文将详细介绍如何在数据透视表中显示所有可能的项目&#x…

作者头像 李华
网站建设 2026/4/5 19:22:04

Keil5芯片包下载安装指南:手把手教程(从零实现)

Keil5芯片包下载安装指南:从零构建嵌入式开发环境(实战详解) 一个常见的“拦路虎”:为什么我的Keil找不到STM32? 你是否遇到过这样的场景?刚打开Keil Vision5,信心满满地准备创建新项目&#…

作者头像 李华
网站建设 2026/4/5 16:12:21

哈希表结构:使用开放地址法解决哈希冲突

一、核心原理 1. 数据存储结构 // 每个 Thread 对象内部都有一个 ThreadLocalMap ThreadLocal.ThreadLocalMap threadLocals null;// ThreadLocalMap 内部使用 Entry 数组&#xff0c;Entry 继承自 WeakReference<ThreadLocal<?>> static class Entry extends We…

作者头像 李华
网站建设 2026/4/12 19:05:14

dLocalMap 内部使用 Entry 数组

一、核心原理 1. 数据存储结构 // 每个 Thread 对象内部都有一个 ThreadLocalMap ThreadLocal.ThreadLocalMap threadLocals null;// ThreadLocalMap 内部使用 Entry 数组&#xff0c;Entry 继承自 WeakReference<ThreadLocal<?>> static class Entry extends We…

作者头像 李华