0

如果“package.json”版本没有按顺序跟随,相同的版本在不同的代码库的历史中重复,会发生什么?

让我们假设:

  • Project-XYZ package.json 版本1.0.0随文件 (file1, file2) 中的更改一起发布
  • Project-XYZ package.json 版本1.1.0随文件(file2、file3)中的更改一起发布
  • Project-XYZ package.json 版本2.0.0随文件(file3、file1)中的更改一起发布
  • Project-XYZ package.json 版本1.0.0随文件(file4、file2)中的更改一起发布
  • Project-XYZ package.json 版本1.0.1随文件 (file5, file1) 中的更改一起发布
  • Project-XYZ package.json 版本1.0.2随文件 (file2, file1) 中的更改一起发布
  • Project-XYZ package.json 版本1.1.0随文件 (file1, file2) 中的更改一起发布
  • Project-XYZ package.json 版本2.0.0随文件(file4、file5)中的更改一起发布

package.json 版本 1.0.0 使用不同的代码库发布了两次,这是否可行或会导致任何问题。

实际上,我在 Gitlab 管道中的特定提交后遇到了一个错误Timeout._onTimeout,但我在代码中看到的唯一区别是这个版本控制顺序,可以肯定的是工程师错过了实际版本并尝试只推送旧版本,从那时起对历史中相同版本的序列继续使用不同的代码库重复。

这会引起什么问题吗?你们有没有遇到过这样的情况?

请帮忙。提前致谢!

4

1 回答 1

0

我在npmjs 文档上找到了答案,它说:

  • 如果指定注册表中已存在包名称和版本组合,则失败。

  • 一旦使用给定的名称和版本发布包,该特定名称和版本组合将永远无法再次使用,即使它已被 npm-unpublish 删除。

  • 从 开始npm@5,sha1sum 和带有 sha512sum 的完整性字段都将在发布期间提交给注册表。后续安装将使用支持的最强算法来验证下载。

所以,显然我们不能有这样的版本控制,我将尝试解决上述问题,将基于代码的版本移动到新的和未使用的版本。

于 2020-05-26T15:50:04.020 回答