如何将选项传递给依赖包安装npm?

我的node.js项目对node-sqlite具有依赖性,但不幸的是,默认的libsqlite二进制文件没有用我需要的选项构build。

现在我可以单独调用npm install来正确构build它:

 CFLAGS=-DSQLITE_ENABLE_STAT4 npm install sqlite3 --build-from-source 

本质上,这设置了环境variables并将选项传递给工具。

但是, npm install自己npm install应该只安装所有的项目依赖项,包括sqlite。 我如何编码package.json或其他地方,以便npm install将安装sqlite依赖与上述命令行?

您可以使用预安装或安装后脚本来执行此操作。

 #!/bin/bash CFLAGS=-DSQLITE_ENABLE_STAT4 npm install sqlite3 --build-from-source; 

把它放在scripts/install_sqlite3_from_source.sh ,并在你的package.json设置scripts.preinstallscripts.postinstall