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

Node.js NPM:永远不要为NPM包安装嵌套的可选依赖项,node.js,npm,Node.js,Npm,我正在编写一个要发布到NPM的包a A依赖于包B,而包B又依赖于包C。C然后有两个可选的本机依赖项D和E。我明确知道,我对可选依赖项D和E没有任何用处,当有人安装我的包时,我永远不想尝试安装它们 我知道您可以使用命令npm install A--no optional-g来安装没有可选依赖项的软件包,但这将是我希望软件包的使用者不需要的知识/开销 是否有任何npm配置或解决方法,包A的使用者可以npm安装A或npm安装-g A并且永远不会安装可选依赖项 谢谢 测试看看是否一切正常 npm lis

我正在编写一个要发布到NPM的包a

A依赖于包B,而包B又依赖于包C。C然后有两个可选的本机依赖项D和E。我明确知道,我对可选依赖项D和E没有任何用处,当有人安装我的包时,我永远不想尝试安装它们

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

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

谢谢

测试看看是否一切正常

npm list
确保没有错误

npm shrinkwrap
这将锁定包的依赖项

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

你可以在这里了解更多

npm shrinkwrap