zoukankan      html  css  js  c++  java
  • Go module

    目录

    module

    Go 在 1.11 之后推出了依赖包管理工具 Go Modules,使得开发者可以在 GOPATH 指定的目录外组织项目代码。

    官方go module wiki go/wiki/Modules;

    Introduction to Go Modules 是一篇很好的go module 入门介绍;

    要使用go module,首先要设置`GO111MODULE=on。go module 安装 package 的原則是先拉最新的 release tag,若无tag则拉最新的commit,详见 Modules官方介绍。go 会自动生成一个 go.sum 文件来记录 dependency tree。

    go help mod查看帮助

    download    download modules to local cache (下载依赖的module到本地cache))
    edit        edit go.mod from tools or scripts (编辑go.mod文件)
    graph       print module requirement graph (打印模块依赖图))
    init        initialize new module in current directory (在当前文件夹下初始化一个新的module, 创建go.mod文件))
    tidy        add missing and remove unused modules (增加丢失的module,去掉未用的module)
    vendor      make vendored copy of dependencies (将依赖复制到vendor下)
    verify      verify dependencies have expected content (校验依赖)
    why         explain why packages or modules are needed (解释为什么需要依赖)
    
    go mod init moduleName
    
    go mod init github.com/longjoy/micro-go-course 
    // output 
    go: creating new go.mod: module github.com/longjoy/micro-go-course
    

    go.mod:

    module github.com/longjoy/micro-go-course 
    go 1.14
    

    go list -m -u all 来检查可以升级的package,使用go get -u need-upgrade-package 升级后会将新的依赖版本更新到go.mod * 也可以使用 go get -u 升级所有依赖

    replace

    go.mod中使用replace替换成引用的库。

    • 需要FQ访问,替换成国内的包;
    • 团队维护公共包,项目需要本地调试;(可以结合 go mod vendor使用)
    module gitlab.mw.com/data/shop
    
    go 1.13
    
    require (
    	github.com/pkg/errors v0.9.1
    )
    replace (
    	github.com/pkg/errors v0.9.1 =>  gitlab.mw.com/data/shop/errors
    )
    
  • 相关阅读:
    [时间篇TIME]Learn with whole Life 一生的学习
    使用IIS内置压缩功能,增加网站访问速度
    CSS中A链接样式的 "爱恨"原则
    爱情六十三课,定个开放日
    给爱子的信
    在IE中使用高级CSS3选择器
    爱情六十七课,下台阶的学问
    网上常用免费WebServices集合
    美国狗证上的10句话
    爱情六十五课,情爱无智者
  • 原文地址:https://www.cnblogs.com/followyou/p/14396589.html
Copyright © 2011-2022 走看看