如何将选项传递给 npm 的依赖包安装?
How to pass options to dependent package installs for npm?
我的 node.js
项目依赖于 node-sqlite
,但不幸的是,那里嵌入的默认 libsqlite
二进制文件没有使用我需要的选项构建。
现在我可以单独调用 npm install
那个包来让它正确构建:
CFLAGS=-DSQLITE_ENABLE_STAT4 npm install sqlite3 --build-from-source
本质上,这会设置环境变量并将一个选项传递给工具。
但是,npm install
本身应该只安装 所有 项目依赖项,包括 sqlite。我如何编码 package.json
或其他地方,以便 npm install
将使用上述命令行安装 sqlite 依赖项?
您可以使用 preinstall or a postinstall 脚本来执行此操作。
#!/bin/bash
CFLAGS=-DSQLITE_ENABLE_STAT4 npm install sqlite3 --build-from-source;
将其放入 scripts/install_sqlite3_from_source.sh
,并在 package.json
中设置 scripts.preinstall
或 scripts.postinstall
。
我的 node.js
项目依赖于 node-sqlite
,但不幸的是,那里嵌入的默认 libsqlite
二进制文件没有使用我需要的选项构建。
现在我可以单独调用 npm install
那个包来让它正确构建:
CFLAGS=-DSQLITE_ENABLE_STAT4 npm install sqlite3 --build-from-source
本质上,这会设置环境变量并将一个选项传递给工具。
但是,npm install
本身应该只安装 所有 项目依赖项,包括 sqlite。我如何编码 package.json
或其他地方,以便 npm install
将使用上述命令行安装 sqlite 依赖项?
您可以使用 preinstall or a postinstall 脚本来执行此操作。
#!/bin/bash
CFLAGS=-DSQLITE_ENABLE_STAT4 npm install sqlite3 --build-from-source;
将其放入 scripts/install_sqlite3_from_source.sh
,并在 package.json
中设置 scripts.preinstall
或 scripts.postinstall
。