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

时间:2016-01-16 01:22:00

标签: node.js configuration 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依赖项?

1 个答案:

答案 0 :(得分:2)

您可以使用preinstall or a postinstall脚本执行此操作。

#!/bin/bash

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

将其放在scripts/install_sqlite3_from_source.sh中,并在scripts.preinstall中设置scripts.postinstallpackage.json