如何解决 Yarn.lock 中开发依赖项的特定依赖项

Posted

技术标签:

【中文标题】如何解决 Yarn.lock 中开发依赖项的特定依赖项【英文标题】:How to resolve specific dependency of a dev dependency in a Yarn.lock 【发布时间】:2021-06-24 22:28:24 【问题描述】:

尝试安装 dev 依赖项,但其中一个依赖项是 lodash: 4.17.20。当 Snyk 扫描我的依赖项时,它会将这个依赖项标记为高安全漏洞。

我们如何让这个开发依赖项尝试为开发依赖项解析不同版本的 lodash 并通过 Snyk 测试?

考虑到在yarn.lock 文件中,它需要为这个开发依赖解析更高版本的lodash,所以我提到了https://classic.yarnpkg.com/en/docs/selective-version-resolutions/

在我的package.json 中做某事

  "resolutions": 
    "**/lodash": "^4.17.20"
  

或者

  "resolutions": 
    "<that dev dependency>/lodash": "^4.17.20"
  

似乎它还没有完全起作用,并且 Yarn.lock 还没有更新该开发依赖项的 lodash 依赖项。想看看这是否可能在不手动更新yarn.lock 的情况下,因为我可以看到它在未来被重新覆盖。这是在 Lerna monorepo 中完成的。

【问题讨论】:

【参考方案1】:

来自 Snyk 团队的更新,截至 21 年 4 月 5 日,他们不支持 Lerna 的 monorepo

【讨论】:

以上是关于如何解决 Yarn.lock 中开发依赖项的特定依赖项的主要内容,如果未能解决你的问题,请参考以下文章

yarn.lock文件

yarn.lock文件

yarn之安装依赖包

如何解决 yarn.lock 中的 git 冲突

在 docker 容器内安装依赖项后如何复制回主机 package-lock.json/yarn.lock?

Yarn:使用 yarn.lock 的依赖