Lerna 在发布新版本时是否会增加依赖版本?
Does Lerna bump dependency versions when releasing new versions?
如果我有一个带有 packageA
和 packageB
的 monorepo,后者依赖于前者。如果我然后 运行 lerna version major
,例如,导致 packageA
的版本号被颠簸,是否在 packageB
的 [=15] 中列出对它的依赖项=] 也会自动碰撞,还是应该手动完成?
(我尝试设置一个测试存储库来执行此操作,但后来 Lerna 抱怨它还没有遥控器,所以我希望有使用 Lerna 经验的人知道答案。)
为了这个答案,我假设您没有使用传统的提交。如果我猜错了,请随时回复更具体的内容。
TL;DR
是的,如果你 运行 lerna version major
_你的仓库中的所有包都将更新到新的主要版本并且 packageB
的 package.json
文件将更新为packageA
.
的新版本号
详情
假设您的 monorepo 中有 packageA
和 packageB
包,它们有 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 version major:
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"
}
}
如果我有一个带有 packageA
和 packageB
的 monorepo,后者依赖于前者。如果我然后 运行 lerna version major
,例如,导致 packageA
的版本号被颠簸,是否在 packageB
的 [=15] 中列出对它的依赖项=] 也会自动碰撞,还是应该手动完成?
(我尝试设置一个测试存储库来执行此操作,但后来 Lerna 抱怨它还没有遥控器,所以我希望有使用 Lerna 经验的人知道答案。)
为了这个答案,我假设您没有使用传统的提交。如果我猜错了,请随时回复更具体的内容。
TL;DR
是的,如果你 运行 lerna version major
_你的仓库中的所有包都将更新到新的主要版本并且 packageB
的 package.json
文件将更新为packageA
.
详情
假设您的 monorepo 中有 packageA
和 packageB
包,它们有 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 version major:
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"
}
}