3

很抱歉我的整体愚蠢和对 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重新创建这个依赖树。据我了解,这些依赖关系是自动拾取的,为了解决这个问题,这个树中的所有包都应该更新它们的依赖关系,从底部开始:首先,新版本boomsntp应该开始使用新版本的 hoek,然后是新版本ofhawk应该使用新版本的boom and sntp...

但据我在 github 上看到的,chain 中的一些包尚未更新。

所以,我的问题是:到目前为止,我该如何解决这个项目中的这个问题?我可以手动更改 package-lock.json 中的依赖版本(谦虚地希望较低版本的较低版本与较高版本的旧版本兼容)?

它会以某种方式解决我的问题,即 hoek 2.16.3 将从项目中消失吗?

4

0 回答 0