Go Module常用命令及如何使用Go Module

 更新时间:2024年02月29日 10:26:20   作者:帅那个帅  
go module是go官方自带的go依赖管理库,在1.13版本正式推荐使用,这篇文章主要介绍了Go Module常用命令及如何使用Go Module,需要的朋友可以参考下

Go Module常用命令@TOC

Go Module常用命令

go mod init  														 #初始化go.mod
go mod tidy  														 #更新依赖文件
go mod download 												 #下载依赖文件
go mod vendor 													 #将依赖转移至本地的vendor文件
go mod edit   													 #手动修改依赖文件
go mod graph  													 #打印依赖图
go mod verify 													 #校验依赖
go mod why -m <pkg> 										 #来查看是被哪个依赖引入的
go list -u -m all 											 #查看所有以升级依赖版本
go mod edit -fmt/-require=/-droprequire= #格式化/添加依赖/移除依赖项

Go Module介绍

go module是go官方自带的go依赖管理库,在1.13版本正式推荐使用

go module可以将某个项目(文件夹)下的所有依赖整理成一个 go.mod 文件,里面写入了依赖的版本等

使用go module之后我们可不用将代码放置在src下了

设置Go Module

查看当前golang env配置

go env

1.13版本GO111MODULE 默认是auto, 1.13+版本根据目录下有没有go.mod文件判断是否开启Module,可以手动设置为on/off

go env -w GO111MODULE="on"

设置代理 go env -w GOPROXY=下面代理的其中一个

htps://goproxy.io
https://goproxy.cn (七牛云)
https://mirrors.aliyun.com/go…(阿里云)
https://mirrors.cloud.tencent…(腾讯云)
https://athens.azurefd.net(微软)

使用Go Module

一、初始化 在项目根目录下会生成go.mod文件

go mod init [模块名]

二、检测依赖

go mod tidy

三、下载依赖

需要先设置GOPROXY,依赖下载至$GOPATH/pkg/mod/下,并在项目根目录下生成go.sum文件

go mod download

go get 升级

运行 go get -u 将会升级到最新的次要版本或者修订版本(x.y.z, z是修订版本号, y是次要版本号)运行 go get -u=patch 将会升级到最新的修订版本运行 go get package@version 将会升级到指定的版本号version运行go get如果有版本的更改,那么go.mod文件也会更改

四、导入依赖

将刚下载至GOPATH下的依赖转移到该项目根目录下的vendor(自动新建)文件下

go mod vendor

五、解决冲突

module declares its path as: A but was required as: B
模块路径声明为A,需要改成B
**解决:**在go.mod文件中增加 replace A => B依赖包不同版本冲突
**解决:**使用别名

import(
	v1 "github.com/v1"
	v2 "github.com/v2"
)

到此这篇关于Go Module常用命令的文章就介绍到这了,更多相关Go Module命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Golang检查变量类型的四种方式

    Golang检查变量类型的四种方式

    Go提供几种方法检查变量的类型,在字符串格式化标识%T, 反射方式:reflect.TypeOf, reflect.ValueOf.Kind,另外还有使用类型断言,switch case方式,下面通过实例分别介绍这四类方法,需要的朋友可以参考下
    2022-10-10
  • Golang并发编程之GMP模型详解

    Golang并发编程之GMP模型详解

    传统的并发编程模型是基于线程和共享内存的同步访问控制的,共享数据受锁的保护,线程将争夺这些锁以访问数据。本文将介绍Go并发编程中的GMP模型,感兴趣的可以了解一下
    2023-03-03
  • 详解Go语言中接口应用模式或惯例介绍

    详解Go语言中接口应用模式或惯例介绍

    这篇文章主要为大家详细介绍了Go语言中接口应用模式或惯例介绍的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下
    2023-11-11
  • 详解如何在Go中如何编写出可测试的代码

    详解如何在Go中如何编写出可测试的代码

    在编写测试代码之前,还有一个很重要的点,容易被忽略,就是什么样的代码是可测试的代码,所以本文就来聊一聊在 Go 中如何写出可测试的代码吧
    2023-08-08
  • 在Golang中正确的修改HTTPRequest的Host的操作方法

    在Golang中正确的修改HTTPRequest的Host的操作方法

    我们工作中经常需要通过HTTP请求Server的服务,比如脚本批量请求接口跑数据,由于一些网关策略,部分Server会要求请求中Header里面附带Host参数,所以本文给大家介绍了如何在Golang中正确的修改HTTPRequest的Host,需要的朋友可以参考下
    2023-12-12
  • 9个Golang中map常用示例分享

    9个Golang中map常用示例分享

    这篇文章主要和大家分享9个Golang中map可能是常用的使用案例,从1到9,越来越厉害。文中的示例代码讲解详细,希望对大家学习Golang有一定的帮助
    2023-02-02
  • GO语言中ni,零值与空结构体的使用

    GO语言中ni,零值与空结构体的使用

    Go语言为Java开发者带来了一些新概念,如零值、nil和空结构体,理解这些概念有助于Go语言的学习和应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-10-10
  • Golang使用gvm进行版本控制的安装使用教程

    Golang使用gvm进行版本控制的安装使用教程

    这篇文章主要为大家介绍了Golang使用gvm进行版本控制的安装使用教程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • 详解Go语言如何解决map并发安全问题

    详解Go语言如何解决map并发安全问题

    常说go语言是一门并发友好的语言,对于并发操作总会在编译期完成安全检查,所以这篇文章我们就来聊聊go语言是如何解决map这个数据结构的线程安全问题吧
    2024-04-04
  • Golang errors包快速上手

    Golang errors包快速上手

    errors 包是用于处理错误的标准库, errors 包提供的功能比较简单,使用起来非常方便,下面就来介绍一下,感兴趣的可以了解一下
    2025-05-05

最新评论