Kai*_*ito 68 github npm package-lock.json
Github在我的一个存储库上给了我这个错误.
We found a potential security vulnerability in one of your dependencies.
A dependency defined in ./package-lock.json has known security vulnerabilities
and should be updated.
Run Code Online (Sandbox Code Playgroud)
我们的package.json文件中没有定义依赖项.根据我的理解,删除package-lock.json文件并重新生成它并不是一个好习惯.但是,我看不到任何其他方法来解决此问题.如果我解除此安全漏洞,它将在几天后再次出现.有任何想法吗?谢谢!
Jo-*_*-Go 41
您应该尝试识别有问题的包的名称,然后运行
npm audit fix
Run Code Online (Sandbox Code Playgroud)
显然,替换包名.
这将安装最新版本的软件包,并且最新版本经常修复安全问题.如果您对版本有约束(例如:1.2),您可以尝试:
npm install package-name
Run Code Online (Sandbox Code Playgroud)
并将安装最新的修补版本
新:现在,使用npm @ 6可以直接运行
npm install package-name@^1.2
Run Code Online (Sandbox Code Playgroud)
要解决此问题:
解决方案1: 首先找到漏洞:使用终端: cd进入你的项目,然后运行"npm ls hoek"
最后: npm install bcrypt @ latest
然后将更新的项目推送到git.(即执行新的提交).
解决方案2:
如果第一个选项/解决方案无法解决问题.请在package-lock.json中手动更改版本.手动将版本从2.16.3更改为4.2.1
"hoek": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
"dev": true
Run Code Online (Sandbox Code Playgroud)
然后在GitHub上更新项目(提交/推送)只需确保package-lock.json版本中的每个hoek版本都更改为4.2.1
或者,如果你能找到一种方法来改变使用npm的hoek版本/更新hoek,会使事情变得更简单.(类似于:npm update @ hoek..version)..或者卸载特定的依赖关系,然后使用bower或者重新安装它NPM.
小智 5
在我用纱线构建的项目中,我遇到了同样的 lodash 安全漏洞问题。Github 将这些标记为安全问题。
我尝试了上面 @rileymanda 的答案,使用终端: cd 进入项目,然后运行npm ls lodash.
这发现在我的例子中,错误是在react-scripts中。快速谷歌一下react-scripts和lodash的问题发现这是一个已知问题。
我尝试通过纱线修复各种问题 - 但都没有成功。 npm ls lodash仍然显示正在使用的 lodash 的易受攻击版本。
阅读了Matt Turnbull 关于 npm 改进的博客后,我从 Yarn 切换回了 npm。(删除yarn.lock,删除./node_modules。运行npm install)。npm ls lodash现在显示了正在使用的最新依赖版本 - 欢呼!致力于github,现在很高兴漏洞已经消失了。
看起来纱线可能正在努力解决这些问题(或者无意)。
如果您在使用yarn构建时遇到此问题,请尝试切换[返回]到npm!
| 归档时间: |
|
| 查看次数: |
18429 次 |
| 最近记录: |