将二进制包打包为 .tar.gz,将打包后的压缩文件上传到外网可以访问的服务器中,接下来配置一下 node-pre-gyp 就可以了。 首先安装 node-pre-gyp npm install --save @mapbox/node-pre-gyp 创建一个新的 target action_after_build 用来在你主工程编译完成后自动拷贝 除了保存,上面的配置还告诉 node-pre-gyp 第三方程序引入这个包时,node-pre-gyp 会尝试从 {host}/{remote_path}/ "scripts": { "install 行为变为 node-pre-gyp install –fallback-to-build。 (注意这里不是 node-pre-gyp)根据外部传递的参数来从本地代码编译,这样也就串通了整个流程。
--fallback-to-build node-pre-gyp WARN Using request for node-pre-gyp https download ... 我们就迎来了第一个东西node-pre-gyp,但是提到了node-pre-gyp,我们不得不提及node-gyp,然后又不得不提及gyp。 什么是node-pre-gyp? node-pre-gyp install node-pre-gyp在上述的安装流程中,已经能够被我们在CLI中所使用。 查看node_modules/node-pre-gyp/bin/node-pre-gyp文件(下文都将省略${your_projects}/),用文本的形式打开。
---- 参考文档: node-pre-gyp/abi_crosswalk.json at master · mapbox/node-pre-gyp 使用原生 Node 模块 - Electron electron-rebuild Building - RobotJS felixrieseberg/windows-build-tools: Install C++ Build Tools for Windows using npm node-pre-gyp /abi_crosswalk.json at master · mapbox/node-pre-gyp ---- 本文会经常更新,请阅读原文: https://xinyuehtx.github.io/post
grpc@1.24.2 install: `node-pre-gyp install --fallback-to-build --library=static_library` npm ERR!
实际上,install-app-deps内部依然使用了node-gyp相关知识,关于这一块的知识,读者可以翻阅我之前的文章《node-pre-gyp以及node-gyp的源码简单解析(以安装sqlite3
ArrayBuffer 上脱离; 构建 构建工作流对于 Node.js add-on 维护者与 add-on 使用者来说是非常重要的一个环节,也是N-API 团队其中一个工作重心,比如 CMake.js, node-pre-gyp node-pre-gyp 通常会将构建出来的二进制包上传到 AWS S3。prebuild 也类似,不过是将包上传到 GitHub Release。 prebuildify 则是另外一个可选项。
可以自己先思考下,也可以关注下节内容,node-pre-gyp 结合 Github Actions 预先构建二进制包。 - END -
node-canvas 是使用 C++ 原生编写,再打包交由 Node 调用,因此需要安装 node-pre-gyp,而这家伙可以说是「臭名昭著」了,国内的安装速度极为缓慢,还未必成功。
比如社区中有一个比较流行的用来干这个事情的工具: node-pre-gyp。 这种分发方式看起来无懈可击,但其实有几个没办法绕过去的问题: 诸如 node-pre-gyp 这种工具会在项目里增加很多运行时无关的依赖。 无论上传到哪个 CDN ,都很难兼顾国内/海外用户。
npm install serialport 安装的平台环境 我们使用node-pre-gyp来编译以及公布大多数常见使用平台(linux,mac,windows在标准的处理器平台)的二进制库。 serialport/bin/serialport-terminal.js > serialport@4.0.3 install /usr/lib/node_modules/serialport > node-pre-gyp
所以一些团队成员也在帮助补充 node-gyp,node-pre-gyp 和预编译使这些流程在 Node.js 下好使。
速率限制器,使流量控制变得容易 ow - 函数参数验证 webworker-threads - 使用原生线程的轻量级 Web Worker API clipboardy - 访问系统的剪贴板 (复制和粘贴) node-pre-gyp
/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8” dependencies: nan “^2.3.0” node-pre-gyp 0.1.1” which “^1.3.0” node-pre-gyp@^0.6.39: version “0.6.39” resolved “https://registry.yarnpkg.com/node-pre-gyp