lerna 独立版本控制 + Github 操作的问题



这是我第一次与 lerna 合作,我在独立版本控制方面遇到了一些问题,只是为了开始,我在没有--independent的情况下运行了lerna init,我在发布初始版本后稍后在lerna.json中添加了它。

我正在使用 CI 的 Github 操作,一切正常,但 lerna 继续发布我拥有的包的新版本,即使我不对其进行更改,例如,如果我向 README 文件添加一些内容,它仍然会更新我拥有的包的版本并发布新版本, 我也在使用它使用常规提交。

这是我的lerna.json

{
"packages": [
"packages/*"
],
"version": "independent",
"npmClient": "npm",
"workspaces": true,
"command": {
"publish": {
"conventionalCommits": true,
"message": "chore: new release"
}
}
}

我尝试删除所有标签并运行对包进行更改的构建以部署另一个版本,但包外部发生的所有其他更改仍然会触发包的新版本。

对源文件的更改将触发发布,除非设置了ignore-changes标志。它有其自身的局限性,看看这个问题与类似的用例:https://github.com/lerna/lerna/issues/2437。常规提交将有助于正确的 SemVer 标签,但它至少会生成补丁升级,因为假设您的 README.md 文件更新。它不会阻止发布。

您需要在 lerna 之外处理它,并且只有在确定更改相关时才有条件地调用lerna publishlerna changed命令可以帮助您预览 lerna 看到的更改包的内容。

此外,lerna 将在父包发生更改时发布子包。这可能会导致混乱和潜在的错误,请记住要考虑到这一点。

最新更新