【问题标题】:Yarn Upgrade does not remove old version of js-yaml package in yarn.lock fileYarn 升级不会删除 yarn.lock 文件中旧版本的 js-yaml 包
【发布时间】:2019-11-27 05:50:17
【问题描述】:

我在 rails 应用程序上的 yarn.lock 文件中有一个针对 js-yaml 的高严重性 git hub 安全漏洞。

Remediation
Upgrade js-yaml to version 3.13.1 or later. For example:

js-yaml@^3.13.1:

  version "3.13.1" 

我已经运行了yarn upgrade js-yaml,它更新了我的package.json中的版本:"js-yaml": "^3.13.1",

但是问题仍然出现在 github 中。

我还尝试删除 yarn.lock 并运行 yarn install 以及使用重复数据删除工具 yarn-deduplicate ./yarn.lock (在其他情况下对我有用。但是尊敬仍然存在。

这是 js-yaml 在我的 yarn.lock 文件中的样子:

js-yaml@^3.12.0, js-yaml@^3.13.1:
  version "3.13.1"
  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
  integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
  dependencies:
    argparse "^1.0.7"
    esprima "^4.0.0"

js-yaml@~3.7.0:
  version "3.7.0"
  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80"
  integrity sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=
  dependencies:
    argparse "^1.0.7"
    esprima "^2.6.0" 

我想知道:

  1. 如何解决此特定问题

  2. 保持 yarn.lock 文件最新以避免安全漏洞的最佳做法是什么。当我 yarn upgrade (EG https://github.com/yarnpkg/yarn/issues/3967) 时,似乎我不是唯一一个遇到重复问题的人,也许我可以做些不同的事情?

【问题讨论】:

    标签: ruby-on-rails yarnpkg yarn-lock.json


    【解决方案1】:

    我也遇到了同样的情况。如果您运行yarn why js-yaml,您可能会发现 js-yaml 是一个嵌套依赖项,因此当您升级 js-yaml 时,还有另一个依赖项(例如我的 css-loader)需要旧版本的 js-yaml。一种解决方案(尽管这可能不是最好的,我很抱歉)是运行您的升级:yarn upgrade js-yaml@version 然后添加 js-yaml 作为解决方案 package.json。将您的更改推送到 github,漏洞错误应该会消失。有关分辨率的信息,请参阅link

    【讨论】:

      猜你喜欢
      • 2017-12-27
      • 2020-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-17
      • 1970-01-01
      • 2014-11-17
      • 2018-04-22
      相关资源
      最近更新 更多