如何保持纱线工作区依赖关系同步
Posted
技术标签:
【中文标题】如何保持纱线工作区依赖关系同步【英文标题】: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 收购并且现在是免费的,因此可以帮助使所有依赖项保持最新
【参考方案1】:
使用syncpack
强制monorepo 中的所有子包使用每个依赖项的相同版本。
安装在根 package.json 中:
yarn add --dev -W syncpack
运行(推荐:使用 husky 在每次提交时运行):
syncpack list-mismatches
更多信息:https://github.com/JamieMason/syncpack
【讨论】:
以上是关于如何保持纱线工作区依赖关系同步的主要内容,如果未能解决你的问题,请参考以下文章