• go mod


    环境变量GO111MODULE

    GO111MODULE=off go命令从不使用新模块支持。使用GOPATH模式(查找vendor目录和GOPATH路径下的依赖)
    GO111MODULE=on go命令开启模块支持,只根据go.mod下载和查找依赖
    GO111MODULE=auto 默认值,go命令根据当前目录启用或禁用模块支持。仅当当前目录位于$GOPATH/src之外并且其本身包含go.mod文件或位于包含go.mod文件的目录下时,才启用模块支持。

    go mod命令

    download    下载依赖的module到本地cache
    edit        编辑go.mod文件
    graph       打印模块依赖图
    init        在当前文件夹下初始化一个新的module, 创建go.mod文件
    tidy        增加丢失的module,去掉未用的module
    vendor      将依赖复制到vendor下,注意依赖需要在import 中声明后才能进行导入
    verify      校验依赖
    why         解释为什么需要依赖

    go get ./... 命令可以查找出当前项目的依赖

    翻墙

    将对应的包替换为对应github上面的包

    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
    )
    

    使用本地包

    require (
        modtest v0.0.0
    )
    
    replace (
        modtest v0.0.0 => ../modtest
    )
    

    打包命令

    1.使用GOPATH模式进行打包

    export GO111MODULE=off
    export CGO_ENABLED=0
    go build  -a -v -o app main.go
    

    2.使用vendor目录下包来进行打包

    
    
    export GO111MODULE=on
    export CGO_ENABLED=0
    go build -mod=vendor -a -v -o app main.go
    

    go mod 使用
    初学go包管理填坑

    启动终端执行以下命令

    1、set GO111MODULE=on

    2、set GOPROXY=https://goproxy.io

    3、若执行报错,可能是go.mod中包版本问题,可以在go.mod文件中添加 replace github.com/ugorji/go v1.1.4 => github.com/ugorji/go/codec v0.0.0-20190204201341-e444a5086c43(replace后为示例)

    4、go clean -modcache 清理mod缓存

  • 相关阅读:
    解决ie下vue列表数据不能即时刷新的问题
    redis的几个知识点
    oracle查找某个字符在字符串中的个数的技巧
    程序员必看书籍
    eclipse彻底去除validation(彻底解决编辑js文件的卡顿问题)
    eclipse强行停止buliding workspace
    [Ljava.lang.String是一个字符串数组的字节码表示
    javascript合并两个数组
    css隐藏页面元素的方法
    配置IIS使用Python
  • 原文地址:https://www.cnblogs.com/dfsxh/p/11977292.html
Copyright © 2020-2023  润新知