Go 为什么这个版本标签会导致错误?

Go 为什么这个版本标签会导致错误?,go,Go,在我的go.mod文件中,我有: require ( // ... editted for brevity github.com/Liquid-Labs/catalyst-firewrap v2.0.0-prototype.3 // ... ) 当我试图构建另一个依赖于此包的包时,我得到:无效模块:github.com/Liquid-Labs/catalyst-firwrap应该是v0或v1,而不是v2(v2.0.0-prototype.3) 在go模块化之前有一次重

在我的
go.mod
文件中,我有:

require (
    // ... editted for brevity
    github.com/Liquid-Labs/catalyst-firewrap v2.0.0-prototype.3
    // ... 
)
当我试图构建另一个依赖于此包的包时,我得到:
无效模块:github.com/Liquid-Labs/catalyst-firwrap应该是v0或v1,而不是v2(v2.0.0-prototype.3)

在go模块化之前有一次重写,当时我没有标记东西,所以没有
v1
。。。这就是问题所在吗?我在这里找不到对根本问题的解释。

根据:

如果模块版本为v2或更高版本,则模块的主要版本 必须作为
/vN
包含在中使用的模块路径末尾 go.mod文件(例如,
模块github.com/my/mod/v2
需要github.com/my/mod/v2.0.0
) 和在包导入路径中(例如。,
导入“github.com/my/mod/v2/mypkg”

同一文件引用了官方围棋常见问题解答的基本原理:

用于公共用途的软件包应尽量保持向后 兼容性随着它们的发展而变化。Go 1兼容性指南是一个 这里有一个很好的参考:不要删除导出的名称,鼓励添加标签 复合文字,等等。如果需要不同的功能, 添加新名称,而不是更改旧名称。如果完全中断 如果需要,请使用新导入路径创建新包

以及:

如果旧包和新包具有相同的导入路径,则新包 包必须与旧包向后兼容

根据:

如果模块版本为v2或更高版本,则模块的主要版本 必须作为
/vN
包含在中使用的模块路径末尾 go.mod文件(例如,
模块github.com/my/mod/v2
需要github.com/my/mod/v2.0.0
) 和在包导入路径中(例如。,
导入“github.com/my/mod/v2/mypkg”

同一文件引用了官方围棋常见问题解答的基本原理:

用于公共用途的软件包应尽量保持向后 兼容性随着它们的发展而变化。Go 1兼容性指南是一个 这里有一个很好的参考:不要删除导出的名称,鼓励添加标签 复合文字,等等。如果需要不同的功能, 添加新名称,而不是更改旧名称。如果完全中断 如果需要,请使用新导入路径创建新包

以及:

如果旧包和新包具有相同的导入路径,则新包 包必须与旧包向后兼容