node-gyp 编译原生插件

node-gyp

其他参考

以下步骤主要用于 window 。Mac 非常简单,点这里

npm 安装 node-gyp

1
npm install -g node-gyp

安装 python

如何 python 版本 大于等于 3.12 需要手动安装 distutils 模块

1
2
3
4
py -m ensurepip --default-pip
# 安装了 pip 以下命令可以直接运行,不需要 py -m
py -m pip install --upgrade pip
py -m pip install setuptools

下载 Visual Studio

安装阶段 一定勾选安装 (一般会有中文翻译,只要有 c++ 勾就完事咯)

Desktop development with C++ : 且勾选下级所有带有 v143 的插件,用于编译 arm64 的程序

Visual C++ build tools

快速启动

参考 ( 未成功,但不代表下次不成功 )

  1. npm 安装 node-gyp
1
npm install -g node-gyp
  1. 安装 choco 用于快速安装 window 包,只能在 管理员PowerShell 中执行

一定先运行 Get-ExecutionPolicy,返回 <u>Bypass</u>、再下一步。 如果返回 Restricted, 则运行 Set-ExecutionPolicy AllSigned 或 Set-ExecutionPolicy Bypass -Scope Process.

1
2
3
Get-ExecutionPolicy

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
  1. 安装 python 和 Visual Studio 编译编译工具
1
choco install python visualstudio2022-workload-vctools -y

用例

需要 node-gyp 参与编译的插件举个例子比如 SQLite3

SQLite3 数据库 主要用于

  1. 本地存储:桌面应用通常需要本地存储数据,比如用户配置、应用设置、缓存数据等。SQLite3 是一个轻量级的嵌入式数据库,特别适合这种场景。
  2. 独立性:SQLite3 是自包含的,不需要服务器。对于桌面应用来说,用户只需要安装应用程序本身,不需要安装和配置额外的数据库服务器。
  3. 简单和轻量:SQLite3 只有一个文件,配置简单,占用资源少,非常适合嵌入式和小型应用程序。
  4. 广泛支持:SQLite3 被广泛支持和使用,文档和社区资源丰富,遇到问题时容易找到解决方案。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!