美文网首页
GO mod 版本管理

GO mod 版本管理

作者: 阳丶小光 | 来源:发表于2019-07-31 19:45 被阅读0次

    版本结构v(major).(minor).(patch),如v0.1.0, v1.2.3, or v1.5.0。
    go.mod的结构包括, module, require, replace, exclude,如下

    module v9.git.n.xiaomi.com/AD-Planner/manager

    go 1.12

    require (
    github.com/Masterminds/goutils v1.1.0 // indirect
    github.com/Masterminds/semver v1.4.2 // indirect
    github.com/Masterminds/sprig v2.20.0+incompatible // indirect
    github.com/jaytaylor/html2text v0.0.0-20190408195923-01ec452cbe43 // indirect
    github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644 // indirect
    github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect
    github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf // indirect
    gopkg.in/russross/blackfriday.v2 v2.0.1 // indirect
    )

    replace gopkg.in/russross/blackfriday.v2 v2.0.1 => github.com/russross/blackfriday/v2 v2.0.1

    版本选择规则:

    1. 如果新增了一个import,但是没有被go.mod记录,那么'go build'或'go test'会将该包的最新版本自动添加到go.mod里;
    2. 包版本的选择采用最小版本选择算法(minimal version selection),举例说明,如果module依赖A配置有require D v1.0.0,依赖B配置有require D v1.0.1,那么构建的时候会选择v1.0.1
    3. 不会自动升级依赖的version,保证100%可重复构建。

    相关文章

      网友评论

          本文标题:GO mod 版本管理

          本文链接:https://www.haomeiwen.com/subject/apxtdctx.html