【问题标题】:How to fix npm audit fix issues?如何修复 npm 审计修复问题?
【发布时间】:2019-01-12 22:29:44
【问题描述】:
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low           │ Prototype Pollution                                          │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ lodash                                                       │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in    │ >=4.17.5                                                     │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ react-native-cached-image                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ react-native-cached-image > lodash                           │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://npmjs.com/advisories/577                             │
└───────────────┴──────────────────────────────────────────────────────────────┘
found 11 vulnerabilities (2 low, 8 moderate, 1 high) in 26316 scanned packages
  11 vulnerabilities require manual review. See the full report for details.

当我尝试npm install 时会出现这种情况,并且所有这些都需要人工审核。我试图访问this 以查看更多信息,显然这是因为我的lodash4.17.4 版本。所以我运行了npm install --save lodash@4.17.5 并检查了我的package.json 以确保它正确反映。

但是,漏洞似乎仍然存在。想知道我是否以错误的方式修复它?

根据要求,package.json 的正文

"dependencies": {
   "lodash": "^4.17.5",
}

【问题讨论】:

  • 在您的package.json 中您对lodash 有什么依赖关系?请在问题正文中发布实际字符串。
  • @Akrion:是的,确实有
  • 等等......它谈到了react-native-cached-image lib 有这个问题,因为它可能依赖于旧版本的 lodash 不是吗?你能在那个库中看到它在package.json 中说什么吗?
  • 是的,在那个库中你有 4.17.4 刚刚签入他们的 github @github.com/kfiroo/react-native-cached-image/blob/master/…

标签: reactjs react-native npm lodash


【解决方案1】:

你可以用https://github.com/rogeriochaves/npm-force-resolutions解决它

1) 添加分辨率部分

"resolutions": {
  "lodash": "^4.17.5"
}

2) 运行

rm -r node_modules
npx npm-force-resolutions
npm install

【讨论】:

    【解决方案2】:

    问题与 react-native-cached-image 软件包有关,该软件包依赖于 lodash 4.17.4,您可以在此处看到:https://github.com/kfiroo/react-native-cached-image/blob/master/package.json#L51

    【讨论】:

    • 那我只能等包所有者自己更新依赖了?或者对于本地版本,我可以做点什么?
    • 可以导航到 node_module 并对此包进行 npm 更新吗?
    • 他们的最新版本是v1.4.3。如果您使用的是该版本,那么您可以等待(也可以在他们的 repo 上打开一个问题来解决这个问题),或者您也可以fork他们的 repo 并自己进行更改。看看能不能解决。这样至少你可以确定问题是什么,解决方案是什么。
    • 如果你分叉并改变它......如果没有副作用/错误你可以推送 PR 看看他们是否接受等等。
    • 运气好吗?您能证明更改该软件包中的 lodash 版本可以解决问题吗?
    猜你喜欢
    • 2018-11-18
    • 2020-06-30
    • 1970-01-01
    • 2019-02-07
    • 2021-09-07
    • 2021-08-27
    • 1970-01-01
    • 2019-01-25
    • 2021-04-10
    相关资源
    最近更新 更多