美文网首页
Golang学习笔记-go mod

Golang学习笔记-go mod

作者: 土豆吞噬者 | 来源:发表于2019-10-05 21:26 被阅读0次

    环境变量设置

    环境变量GO111MODULE可设置三种值:on,off,auto,off表示使用GOPATH模式,on表示开启模块支持,根据go.mod下载和查找依赖,auto(默认值)表示根据当前目录启用或禁用模块支持,仅当当前目录位于$GOPATH/src之外并且其本身包含go.mod文件或位于包含go.mod文件的目录下时,才启用模块支持。

    环境变量GOPROXY可设置下载依赖时使用的代理,例如“https://goproxy.io”。

    在项目中使用go mod

    • 在项目根目录执行go mod init modulename初始化go mod,系统会生成一个go.mod文件。
    • 然后执行go build就会自动查找和下载代码中的依赖包,并将依赖包以及版本写入go.mod,同时生成go.sum记录依赖包内容的校验值。go mod下载依赖包的原则是先拉最新的release tag,若无tag则拉最新的commit。

    添加和修改依赖包

    使用go get会自动下载依赖包然后更新到go.mod文件,注意go build只会将go.mod中没有的依赖包添加进去,所以不用担心它们冲突,go get规则如下:

    • go get -u 将会升级到最新的次要版本或者修订版本(x.y.z, z是修订版本号, y是次要版本号)。
    • go get -u=patch将会升级到最新的修订版本。
    • go get package@version 将会升级到指定的版本号。

    替换依赖包

    由于某些原因,并不是所有的依赖包都能成功下载,这个时候可以使用replace替换依赖包。

    replace (
        golang.org/x/crypto => github.com/golang/crypto v0.0.0-20181127143415-eb0de9b17e85
        golang.org/x/net => github.com/golang/net v0.0.0-20181114220301-adae6a3d119a
    )
    
    replace (
        golang.org/x/crypto=> ../crypto
    )
    

    相关文章

      网友评论

          本文标题:Golang学习笔记-go mod

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