使用“prebuild-install”下载指定架构
prebuild-install是node-gyp项目预编译安装命令,直接从网上下载不同平台已经编译好的二进制文件,免去了本地编译步骤,加速项目安装进度
下载命令
# 如何下载失败时不回退到源代码编译可添加参数“--fallback-to-build=false”
prebuild-install --fallback-to-build=false
使用场景
在gitlab-ci等自动集成打包环境下,不同平台的node-gyp依赖项目,如sqlite3只需要将预编译的二进制文件更新一下即可,不需要重新打包安装。下面将以sqlite3做为示例,添加如下npm脚本。
{
"name": "example",
"scripts":"download:sqlite3": "cd node_modules/sqlite3 && prebuild-install -r napi --fallback-to-build=false",
"...": "..."
}
如果需要下载linux版本,可使用如下命令
# 选择平台
export npm_config_platform=linux
# 选择cpu构架
export npm_config_arch=x64
# 执行下载命令
npm run download:sqlite3
具体的平台与CPU架构需要参考具体项目所支持的列表,最直接的方式是查看github上发布的预编译下载文件列表。比如:sqlite3的预编译发行文件可以在https://github.com/TryGhost/node-sqlite3/releases上查看到
一般支持的平台如下:
- win32
- linux
- darwin
- linuxmusl(alpine发行版)
一般支持的CPU架构如下:
- arm64
- x64
- ia32