写成日期:2021/10/08 10:00 AM
原文地址:https://github.com/nodejs/node-gyp
我是一个跨平台的命令行工具,在Node.js中使用,用于为Node.js编译原生插件模块。我包含了一个gyp-next的分叉(gyp-next之前由Chromium在使用),扩展用于支持Node.js原生插件的开发。
吭吭,我不是用于构建Node.js自身的工具。
我支持Node.js的很多很多版本,从0.8到4、5、6...,嗯嗯截止目前我都支持,放心使用。
-
在已经支持的任意平台上,使用同一种构建命令。
-
兼容Node.js的不同版本
可以直接用 npm 进行安装:
根据我将运行的操作系统,还需要安装以下东西:
-
Python v3.6+
-
make
-
C/C++编译工具链,如GCC
如果系统升到了macOS Catalina(10.15+),需要单独看 macOS_Catalina.md。
-
Python v3.6+
-
Xcode
-
需要安装XCode命令行工具,
-
如果已经安装了完整的Xcode,要通过菜单 Xcode -> Open Developer Tool -> More Developer Tools,进行clang、clang++、make的安装
-
TODO
TODO
第一步,进到需要编译的原生插件目录下,
第二步,生成一个适合当前系统平台的项目编译文件,。在VC++2015上自动检测失败,需要手动添加指定,。配置步骤会在当前目录找到building.gyp文件,如何配置它见下面。
现在,build目录下会包含一个Makefile(在Unix上)或一个vcxproj(在Windows上)。
第三步,构建,
接下来会生成 .node 的绑定文件,编译后的绑定文件在 build/Debug 或 build/Release/ 中,这取决于构建的模式。Debug使用 --debug参数,重新进行 configure、build/rebuild。
现在,你可以通过 require 这个 .node 文件来运行你的测试了!
它描述了待编译模块的配置,类JSON格式,它与package.json一块儿放在包的根目录下。
适用于构建Node.js插件的gyp示例:
docs目录下包含一些额外的文档,描述了一些关于node-gyp的特定主题,可能对你进行安装或构建产生帮助。
一些非官方的写的不错的教程:
-
"Going Native" a nodeschool.io tutorial
-
"Hello World" node addon example
-
gyp user documentation
-
gyp input format reference
-
"binding.gyp" files out in the wild wiki page
-
help,显示帮助文档
-
build,使用make/msbuild.exe构建原生插件
-
clean,移除build文件夹
-
configure,生成适配当前平台的项目构建文件
-
rebuild,执行clean、configure、build
-
install,安装给定版本的Node.js头文件
-
list,列出当前安装的Node.js头文件的版本
-
remove,移除给定版本的Node.js头文件
-
,并行运行make,取决于最大系统核心数
-
,指定Node.js版本,默认使用process.version
-
,打印所有进度到控制台
-
,打印大多数进度到控制台
-
,不打印任何东西
-
,使用Debug构建,默认是Release
-
,在不同的文件夹中跑命令
-
,重写make命令,比如gmake
-
,使用精简静态库
-
,设置目标架构,如 ia32
-
,从本地tarball获取头文件
-
,SDK下载目录,默认使用OS缓存目录
-
,如果头文件已经存在则不重新安装
-
,从自定义URL中下载头文件
-
,设置HTTP(S)代理,用于下载header tarball
-
,设置下载header tarball时需要忽略代理的URLs
-
,重写默认的CA chain,用于下载header tarball
-
,设置node源码的路径
-
,设置Python二进制的路径
-
,设置Visual Studio版本(Windows专用)
-
,设置Visual Studio Solution版本(Windows专用)
举例,将 devdir 设置为 /tmp/.gyp,
或
举例,将 devdir 设置为 /tmp/.gyp,
MIT
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/55549.html