如果不按顺序遵循"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 的完整性字段都将在发布时提交给注册局。后续安装将使用最强的受支持算法来验证下载。
因此,显然我们不能进行这样的版本控制,我将尝试解决上述问题,将基于代码的版本移动到新的和未使用的版本。