很抱歉我的整体愚蠢和对 npm 工作原理的理解薄弱。
我现在在 Angular 6 上做一个项目,github 说 hoek 包有漏洞。
运行npm ls hoek
我得到这个依赖树:
+-- @angular-devkit/build-angular@0.6.8
| `-- node-sass@4.9.0
| +-- node-gyp@3.7.0
| | `-- request@2.81.0
| | `-- hawk@3.1.3
| | +-- boom@2.10.1
| | | `-- hoek@2.16.3 deduped
| | +-- hoek@2.16.3
| | `-- sntp@1.0.9
| | `-- hoek@2.16.3 deduped
| `-- request@2.79.0
| `-- hawk@3.1.3
| +-- boom@2.10.1
| | `-- hoek@2.16.3 deduped
| +-- hoek@2.16.3
| `-- sntp@1.0.9
| `-- hoek@2.16.3 deduped
+-- karma@2.0.4
| `-- log4js@2.9.0
| `-- loggly@1.1.1
| `-- request@2.75.0
| `-- hawk@3.1.3
| +-- boom@2.10.1
| | `-- hoek@2.16.3 deduped
| +-- hoek@2.16.3
| `-- sntp@1.0.9
| `-- hoek@2.16.3 deduped
无论我做什么,都会npm install
重新创建这个依赖树。据我了解,这些依赖关系是自动拾取的,为了解决这个问题,这个树中的所有包都应该更新它们的依赖关系,从底部开始:首先,新版本boom
和sntp
应该开始使用新版本的 hoek,然后是新版本ofhawk
应该使用新版本的boom
and sntp
...
但据我在 github 上看到的,chain 中的一些包尚未更新。
所以,我的问题是:到目前为止,我该如何解决这个项目中的这个问题?我可以手动更改 package-lock.json 中的依赖版本(谦虚地希望较低版本的较低版本与较高版本的旧版本兼容)?
它会以某种方式解决我的问题,即 hoek 2.16.3 将从项目中消失吗?