Lerna 在发布新版本时会碰到依赖项版本吗?



如果我有一个带有packageApackageB的单存储库,后者依赖于前者。如果我然后运行lerna version major,例如,导致packageA的版本号被碰撞,那么在packageBpackage.json中列出对它的依赖关系是否也会自动碰撞,还是应该手动完成?

(我尝试设置一个测试存储库来执行此操作,但后来 Lerna 抱怨它还没有遥控器,所以我希望有使用 Lerna 经验的人知道答案。

为了这个答案,我假设你没有使用传统的提交。如果我假设错误,请随时回复更多细节。

TL;博士

是的,如果运行lerna version major_all存储库中的包将更新到新的主要版本,并且packageBpackage.json文件将使用packageA的新版本号进行更新。

假设您的 monorepo 中有packageApackageB包,并且它们有如下所示package.json文件:

# packageA/package.json
{
"name": "packageA",
"version": "1.0.0,"
}
# packageB/package.json
{
"name": "packageB",
"version": "1.0.0",
"dependencies": {
"packageA": "^1.0.0"
}
}

当您运行'lerna版本专业时:

  • packageA/package.json中的version字段将更新为2.0.0
  • packageB/package.json中的version字段将更新为2.0.0
  • packageB/package.json中的dependencies.packageA字段将更新为^2.0.0
# packageA/package.json
{
"name": "packageA",
"version": "2.0.0,"
}
# packageB/package.json
{
"name": "packageB",
"version": "2.0.0",
"dependencies": {
"packageA": "^2.0.0"
}
}

最新更新