如何更新间接引用节点模块的版本?

问题描述:

我有一个库在节点模块层次结构中引起安全问题。我不是直接在我的package.json中引用该模块。我参考的一个模块是加载另一个模块,该模块正在加载该模块。所以它是依赖关系树中的第三层。我可以使用npm ls找出库依赖树。 我试着更新package.json,但这不是我想的。如何更新间接引用节点模块的版本?

如何在不触摸顶层模块的情况下更新此特定模块的版本?我应该使用收缩包装吗?

一个(可怕的方式)(直接回答你的问题)你可以小心地管理所有这些依赖关系,并在NPM之外构建该结构。我讨厌它。有大量的依赖管理开销,并且不能保证手工组装的任何组件都能够一起工作 - 所以测试开销也是如此。但在“理论”中它可以起作用。 FWIW我不认为shrinkwrap可以帮助完成子依赖。

我推荐这当然(我知道这是不是你要的 - 但它是最好的办法IMO):

  1. 叉/科库,并进行更改那里。
  2. 然后发出拉入请求(回到主分支)
  3. ,直到它被重新合并,你驾驶室通过GIT URL在你的package.json引用它

来自:https://docs.npmjs.com/files/package.json

GIT中+ SSH://[email protected]:NPM/npm.git#v1.0.27

GIT中+ SSH://[email protected]:NPM/NPM#semver:^ 5.0

混帐+ https://[email protected]/npm/npm.git

的git://github.com/npm/npm.git#v1.0.27