我到处读到包必须带有v0或v1标记。为什么标签不能是v2020或v0或v1以外的其他东西。我已经尝试过这个个人,并得到了下面的错误,我使用v2020。
Scotts-Mac-mini:seeding syacko$ go mod tidy
go: errors parsing go.mod:
/Users/syacko/workspace/sotesoft/src/utils/seeding/go.mod:10: require gitlab.com/soteapps/packages: version "v2020.2.0" invalid: module contains a go.mod file, so major version must be compatible: should be v0 or v1, not v2020
Scotts-Mac-mini:seeding syacko$ 发布于 2020-06-01 20:56:52
这是个会议,每个人都很方便。Go模块选择使用被广泛接受的语义版本化v2。
如果我创建了一个go.mod,但不将标记应用到我的存储库,会发生什么? 符号学是模块系统的基础。为了为消费者提供最好的体验,鼓励模块作者应用semver标记(例如v0.1.0或v1.2.3-rc.1),但semver标记并不严格要求:
在Go模块之前,Dave的一篇有趣的相关博客文章:戈菲斯,请给你的释放贴上标签
我们想要什么?Go软件包的版本管理!我们什么时候想要?昨天! ..。当您开始使用项目中的包时,我们希望我们的Go构建工具能够获取最新的稳定版本. 但就目前情况而言,在2016年,人类或工具无法查看任意git (或mercurial或bzr等)的git代码库,并提出如下问题:
原因是Go项目( Go包的存储库)没有版本,至少没有其他语言的朋友使用这个词的方式。Go项目没有版本,因为没有正式的发布过程。
..。我建议Go项目采用SemVer 2.0.0。这是一个很好的标准,很多人都很清楚,不仅仅是Go程序员,语义版本控制将允许人们编写工具,在最小发布过程的基础上构建依赖管理生态系统。
发布于 2020-06-05 19:06:38
重新阅读github.com/golang/go/wiki/…之后,我看到问题不在v2020.y.z,而是目录结构与版本号不匹配。路径abc/def/v 2020 v2020.y.z应该可以工作。感谢您的各种链接。一个很好的例子是github.com/jackc/pgx/v4
下面是要进行版本的项目的步骤:当您想要将版本更改为V2或更高版本时,需要遵循以下步骤。
版本更改前的示例go.mod文件
module gitlab.com/soteapps/packages
go 1.14
require (
github.com/aws/aws-sdk-go v1.32.4
github.com/jackc/pgconn v1.5.0
github.com/jackc/pgx/v4 v4.6.0
golang.org/x/net v0.0.0-20200602114024-627f9648deb9 // indirect
golang.org/x/text v0.3.3 // indirect
)版本更改后的示例go.mod文件
module gitlab.com/soteapps/packages/v2100
go 1.14
require (
github.com/aws/aws-sdk-go v1.32.4
github.com/jackc/pgconn v1.5.0
github.com/jackc/pgx/v4 v4.6.0
golang.org/x/net v0.0.0-20200602114024-627f9648deb9 // indirect
golang.org/x/text v0.3.3 // indirect
)更改前的示例Golang文件导入
package sDatabase
import (
"context"
"encoding/json"
"fmt"
"strings"
"github.com/jackc/pgx/v4"
"github.com/jackc/pgx/v4/pgxpool"
"gitlab.com/soteapps/packages/sError"
"gitlab.com/soteapps/packages/sLogger"
)
const (更改后的样例Golang文件导入
package sDatabase
import (
"context"
"encoding/json"
"fmt"
"strings"
"github.com/jackc/pgx/v4"
"github.com/jackc/pgx/v4/pgxpool"
"gitlab.com/soteapps/packages/v2020/sError"
"gitlab.com/soteapps/packages/v2020/sLogger"
)
const (具有版本v2+编号的项:
module gitlab.com/soteapps/packages也会改变module gitlab.com/soteapps/packages/v2100。gitlab.com/soteapps/packages文件中对*.go的所有导入引用都必须更新为gitlab.com/soteapps/packages/{version}。在我们的示例中,这将是下面的gitlab.com/soteapps/packages/v2100。v2100。1. If you are using branch, then commit to a branch with the version name. `v2100` in the above example.
2. The last step is to create a tag using semantic versioning format (vX.Y.Z) that point to the version branch. `v2100.1.0` would be the tag for this example.https://stackoverflow.com/questions/62140832
复制相似问题