如何使用 yarn 或 pnpm 安装 sqlite3

Node.js 项目安装 SQLite 时需要下载预编译 bundle,默认是从 github.com 下载的,下载失败会走 node-gyp 本地编译,本地编译一般会因为缺少 Python、Visual Studio、Xcode 等环境而报错,所以需要配置镜像地址。

npm 安装 sqlite3

1
npm install sqlite3@5.1.6 --node_sqlite3_binary_host_mirror=https://registry.npmmirror.com/-/binary/sqlite3/

yarn 或 pnpm 安装 sqlite3

使用 yarn 安装时,使用和 npm 相同的参数居然不管用了,查阅 @mapbox/node-pre-gyp源码 发现:

1
const host = process.env['npm_config_' + validModuleName + '_binary_host_mirror'] || package_json.binary.host;

原来是环境变量需要加 npm_config_ 前缀!

Linux 或 Mac:

1
2
npm_config_node_sqlite3_binary_host_mirror=https://registry.npmmirror.com/-/binary/sqlite3/ yarn add sqlite3@5.1.6
npm_config_node_sqlite3_binary_host_mirror=https://registry.npmmirror.com/-/binary/sqlite3/ pnpm add sqlite3@5.1.6

Windows:

1
2
3
setx node_sqlite3_binary_host_mirror https://registry.npmmirror.com/-/binary/sqlite3/
yarn add sqlite3@5.1.6
pnpm add sqlite3@5.1.6

为什么不安装最新的 5.1.7 而是安装 5.1.6?原因在这里:
https://github.com/TryGhost/node-sqlite3/issues/1773

如何使用 yarn 或 pnpm 安装 sqlite3

https://www.imaegoo.com/2024/yarn-add-sqlite3/

作者

iMaeGoo

发布于

2024-08-27

更新于

2024-08-27

许可协议

CC BY 4.0

评论

微信二维码