我正在创作一个我想发布给NPM的包A.
A依赖于包B,而包依赖于包C.然后有两个可选的本机依赖关系D和E.我知道确定我没有使用可选的依赖关系,D和E,以及当有人安装我的包时,千万不要试图安装它们。
我知道您可以使用命令npm install A --no-optional -g
来安装没有可选依赖项的软件包,但这将是知识/开销,而不是我需要的软件包消费者。
是否有任何npm配置或解决方法,其中包A的使用者只能npm install A
或npm install -g A
,并且永远不会安装可选的依赖项?
由于
答案 0 :(得分:4)
npm install A --no-optional
测试一切是否有效。
npm list
确保没有错误。
npm shrinkwrap
这将锁定包的依赖关系。
这样,npm install会在尝试安装依赖项之前查看npm-shrinkwrap.json。
您可以在此处详细了解https://docs.npmjs.com/cli/shrinkwrap