如果不按顺序遵循"package.json"版本,并且使用不同的代码库在历史记录中重复相同的版本,会发生什么情况?



如果不按顺序遵循"package.json"版本,并且使用相同的代码库在历史记录中重复相同的版本,会发生什么?

让我们假设:

  • Project-XYZ package.json 版本1.0.0随文件(文件1、文件2(中的更改一起发布
  • Project-XYZ package.json 版本1.1.0随文件(文件2、文件3(中的更改一起发布
  • Project-XYZ package.json 版本2.0.0随文件(文件3、文件1(中的更改一起发布
  • Project-XYZ package.json 版本1.0.0随文件(文件4、文件2(中的更改一起发布
  • Project-XYZ package.json 版本1.0.1随文件(文件5、文件1(中的更改一起发布
  • Project-XYZ package.json 版本1.0.2随文件(文件2、文件1(中的更改一起发布
  • Project-XYZ package.json 版本1.1.0随文件(文件1、文件2(中的更改一起发布
  • Project-XYZ package.json 版本2.0.0随文件(文件4、文件5(中的更改一起发布

package.json 版本 1.0.0 使用不同的代码库发布两次,如果这有效还是会导致任何问题。

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

这应该引起任何问题吗? 你们中有人遇到过这种情况吗?

请帮忙。提前感谢!

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

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

  • 使用给定名称和版本
  • 发布包后,该特定名称和版本组合将永远无法再次使用,即使使用 npm-unpublish 将其删除也是如此。

  • 截至npm@5,sha1sum 和带有 sha512sum 的 tarball 的完整性字段都将在发布时提交给注册局。后续安装将使用最强的受支持算法来验证下载。

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

最新更新