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

时间:2017-09-26 17:45:41

标签: node.js npm

我有一个深入到节点模块层次结构的库,这会导致安全问题。我没有在package.json中直接引用该模块。我引用的模块之一是加载另一个模块,该模块正在加载该模块。所以它是依赖树中的第三层。我可以使用npm ls找出库依赖树。 我尝试更新package.json,但我觉得这不正确。

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

1 个答案:

答案 0 :(得分:0)

一种(可怕的方式)(直接回答你的问题)你可以自己仔细管理所有这些依赖项,并在NPM之外构建该结构。我讨厌它。存在大量的依赖管理开销,并且不能保证任何手工组装的组件可以一起工作 - 因此测试开销也是如此。但在"理论"它可以工作。 FWIW我不认为收缩包装有助于子依赖。

我推荐这门课程(我知道这不是你要求的 - 但这是IMO的最佳方法):

  1. 分叉/分支库并在那里进行更改。
  2. 然后发出拉取请求(返回主分支)
  3. 直到它被合并回来,你的cab通过你的package.json中的GIT url引用它。
  4. 来自:https://docs.npmjs.com/files/package.json

      

    的git + SSH://git@github.com:NPM / npm.git#v1.0.27

         

    的git + SSH://git@github.com:NPM / NPM#semver:^ 5.0

         

    的git + https://isaacs@github.com/npm/npm.git

         

    GIT中://github.com/npm/npm.git#v1.0.27