如何使用 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 | npm_config_node_sqlite3_binary_host_mirror=https://registry.npmmirror.com/-/binary/sqlite3/ yarn add sqlite3@5.1.6 |
Windows:
1 | setx node_sqlite3_binary_host_mirror https://registry.npmmirror.com/-/binary/sqlite3/ |
为什么不安装最新的 5.1.7
而是安装 5.1.6
?原因在这里:
https://github.com/TryGhost/node-sqlite3/issues/1773
如何使用 yarn 或 pnpm 安装 sqlite3