Npm 在发布新版本时,Lerna是否会影响依赖版本?

Npm 在发布新版本时,Lerna是否会影响依赖版本?,npm,lerna,Npm,Lerna,如果我有一个带有packageA和packageB的monorepo,后者依赖于前者。例如,如果我随后运行lerna version major,导致packageA的版本号被碰撞,那么packageB的package.json中对它的依赖列表是否也会被自动碰撞,还是应该手动碰撞 (我试着建立一个测试库来做这件事,但后来Lerna抱怨它还没有遥控器,所以我希望有使用Lerna经验的人知道答案。)为了这个答案,我假设你没有使用传统的提交。如果我的假设是错误的,请随时回复更多细节 TL;博士 是的,

如果我有一个带有
packageA
packageB
的monorepo,后者依赖于前者。例如,如果我随后运行
lerna version major
,导致
packageA
的版本号被碰撞,那么
packageB
package.json
中对它的依赖列表是否也会被自动碰撞,还是应该手动碰撞


(我试着建立一个测试库来做这件事,但后来Lerna抱怨它还没有遥控器,所以我希望有使用Lerna经验的人知道答案。)

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

TL;博士 是的,如果您运行
lerna version major
\u您的repo中的所有软件包都将更新为新的主要版本,
packageB
package.json
文件将更新为
packageA
的新版本号

细节 假设您在monorepo中有
packageA
packageB
包,它们有
package.json
文件,如下所示:

#packageA/package.json
{
“名称”:“包装”,
“版本”:“1.0.0”
}
#packageB/package.json
{
“名称”:“包装B”,
“版本”:“1.0.0”,
“依赖项”:{
“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
{
“名称”:“包装”,
“版本”:“2.0.0”
}
#packageB/package.json
{
“名称”:“包装B”,
“版本”:“2.0.0”,
“依赖项”:{
“packageA”:“^2.0.0”
}
}

谢谢!这正是我一直在寻找的东西,七个月后,它又与我产生了关联。如果存在对等关系,会发生什么?