NPM:永远不要为npm包安装嵌套的可选依赖项

时间:2015-11-05 10:53:26

标签: node.js npm

我正在创作一个我想发布给NPM的包A.

A依赖于包B,而包依赖于包C.然后有两个可选的本机依赖关系D和E.我知道确定我没有使用可选的依赖关系,D和E,以及当有人安装我的包时,千万不要试图安装它们。

我知道您可以使用命令npm install A --no-optional -g来安装没有可选依赖项的软件包,但这将是知识/开销,而不是我需要的软件包消费者。

是否有任何npm配置或解决方法,其中包A的使用者只能npm install Anpm install -g A,并且永远不会安装可选的依赖项?

由于

1 个答案:

答案 0 :(得分:4)

npm install A --no-optional

测试一切是否有效。

npm list

确保没有错误。

npm shrinkwrap

这将锁定包的依赖关系。

这样,npm install会在尝试安装依赖项之前查看npm-shrinkwrap.json。

您可以在此处详细了解https://docs.npmjs.com/cli/shrinkwrap