如何更新间接引用节点模块的版本?
问题描述:
我有一个库在节点模块层次结构中引起安全问题。我不是直接在我的package.json中引用该模块。我参考的一个模块是加载另一个模块,该模块正在加载该模块。所以它是依赖关系树中的第三层。我可以使用npm ls
找出库依赖树。 我试着更新package.json,但这不是我想的。如何更新间接引用节点模块的版本?
如何在不触摸顶层模块的情况下更新此特定模块的版本?我应该使用收缩包装吗?
答
一个(可怕的方式)(直接回答你的问题)你可以小心地管理所有这些依赖关系,并在NPM之外构建该结构。我讨厌它。有大量的依赖管理开销,并且不能保证手工组装的任何组件都能够一起工作 - 所以测试开销也是如此。但在“理论”中它可以起作用。 FWIW我不认为shrinkwrap可以帮助完成子依赖。
我推荐这当然(我知道这是不是你要的 - 但它是最好的办法IMO):
- 叉/科库,并进行更改那里。
- 然后发出拉入请求(回到主分支)
- ,直到它被重新合并,你驾驶室通过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