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”
}
}
谢谢!这正是我一直在寻找的东西,七个月后,它又与我产生了关联。如果存在对等关系,会发生什么?