【问题标题】:How do I keep yarn workspaces dependencies in sync如何保持纱线工作区依赖关系同步
【发布时间】:2019-06-27 02:57:18
【问题描述】:

假设我的yarn workspaces 中有多个包。

@mycompany/utils
@mycompany/app
@mycompany/serv

假设这些包中的每一个在lodash 上都有一个dependency。我想确保它们都具有相同的lodash 版本。

有没有办法在每个 package.json 中做到这一点?

【问题讨论】:

  • 如果这仍然在议程上,如何将 lodash 添加到根 package.json:yarn add lodash -W?
  • 是的,我一开始就这样做了,然后意识到将它添加到根 package.json 并不是一个很好的解决方案,因为您以后将无法分辨哪个包具有哪个依赖项):
  • 我目前面临着类似的问题。如果你解决了,你是怎么解决的?
  • 不幸的是..我还没有解决它):
  • 我想研究的一件事可能是使用 dependabot.com,因为它已被 Github 收购并且现在是免费的,因此可以帮助使所有依赖项保持最新

标签: yarnpkg package.json yarn-workspaces


【解决方案1】:

使用syncpack 强制monorepo 中的所有子包使用每个依赖项的相同版本。

安装在根 package.json 中:

yarn add --dev -W syncpack

运行(推荐:使用 husky 在每次提交时运行):

syncpack list-mismatches

更多信息:https://github.com/JamieMason/syncpack

【讨论】:

    猜你喜欢
    • 2019-06-04
    • 2021-04-13
    • 2019-12-29
    • 2021-09-06
    • 1970-01-01
    • 2020-08-07
    • 1970-01-01
    • 2012-09-16
    • 2021-12-22
    相关资源
    最近更新 更多