执行go build报错go: go.mod file not found in current directory or any parent directory

 更新时间:2023年06月15日 16:44:06   作者:bootschool  
本文主要为大家介绍了执行go build报错go: go.mod file not found in current directory or any parent directory解决分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

执行命令go build -n

执行命令go build -n时提示:go: go.mod file not found in current directory or any parent directory; see 'go help modules'

根据提示信息我们可以看出是项目目录下缺少go.mod文件,那么如何才能生成此文件呢?

第一步:开启Go Modules功能

go module是go官方自带的go依赖管理功能,从Go 1.13版本正式推荐使用,它可以将项目下的所有依赖集中到 go.mod 文件,进行集中管理。使用go module管理依赖将会在项目根目录下生成两个文件 go.mod(负责记录当前项目的所有依赖)和go.sum(记录每个依赖库的版本和哈希值)

我们使用如下命令开启go modules功能:

go env -w GO111MODULE=on

GO111MODULE介绍

GO111MODULEgo modules功能的开关:

  • GO111MODULE=off,关闭go modules功能,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。
  • GO111MODULE=on,开启go modules功能,go命令行会使用modules,而一点也不会去GOPATH目录下查找。
  • GO111MODULE=auto,默认值,go命令会根据当前目录中是否有go.mod文件来决定是否启用module功能。这种情况下可以分为两种情形:
    1、当项目路径在GOPATH目录外部时, 设置为GO111MODULE = on2、当项目路径位于GOPATH内部时,即使存在go.mod, 设置为GO111MODULE = off

第二步:生成go.mod文件

在当前项目目录下,执行如下命令生成go.mod文件:

go mod init [项目文件夹名称]

Go Mod相关命令

可以使用go mod help命令进行相关命令和解释查看

go mod init <项目目录名称> //初始化模块,自动生成go.mod文件
go mod download [path@version] //下载指定依赖
go mod edit -json //编辑go.mod文件 可选项有-json、-require和-exclude
go mod graph //以文本模式打印模块需求图
go mod tidy //删除错误或者不使用的modules
go mod vendor //将依赖包复制到项目的vendor目录
go mod verify //验证依赖是否正确
go mod why //查找依赖
go list -m all //显示依赖关系
go list -m -json all //显示完整依赖关系

 也可以使用命令go help mod <command>查看mod先关命令使用方法。

以上就是执行go build报错go: go.mod file not found in current directory or any parent directory的详细内容,更多关于go build报错的资料请关注脚本之家其它相关文章!

相关文章

  • 解读go在遍历map过程中删除成员是否安全

    解读go在遍历map过程中删除成员是否安全

    在Go语言中,通过for range遍历map时可以安全地删除当前遍历到的元素,因为遍历过程中的删除操作不会影响遍历的进行,但需要注意,遍历顺序是不确定的,删除元素不会导致程序错误,但可能会影响剩余元素的遍历顺序,在多线程环境下
    2024-09-09
  • go的websocket实现原理与用法详解

    go的websocket实现原理与用法详解

    这篇文章主要介绍了go的websocket实现原理与用法,详细分析了websocket的功能、原理及Go语言实现websocket的相关技巧,需要的朋友可以参考下
    2016-07-07
  • GPT回答 go语言和C语言数组操作对比

    GPT回答 go语言和C语言数组操作对比

    这篇文章主要为大家介绍了GPT回答的go语言和C语言数组操作方法对比,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • 深入理解Go语言设计模式之函数式选项模式

    深入理解Go语言设计模式之函数式选项模式

    在 Go 语言中,函数选项模式(Function Options Pattern)是一种常见且强大的设计模式,用于构建可扩展、易于使用和灵活的 API,本文就来看看它的具体用法吧
    2023-05-05
  • 详解为什么说Golang中的字符串类型不能修改

    详解为什么说Golang中的字符串类型不能修改

    在接触Go这么语言,可能你经常会听到这样一句话。对于字符串不能修改,可能你很纳闷,日常开发中我们对字符串进行修改也是很正常的,为什么又说Go中的字符串不能进行修改呢?本文就来通过实际案例给大家演示一下
    2023-03-03
  • golang实现读取excel数据并导入数据库

    golang实现读取excel数据并导入数据库

    Go 语言是一门适合用于编写高效且并发的 Web 应用程序的编程语言,同时也可以使用它进行数据处理和分析,本文主要介绍了如何通过go语言实现读取excel数据并导入数据库,感兴趣的小伙伴可以了解下
    2025-04-04
  • golang 微服务之gRPC与Protobuf的使用

    golang 微服务之gRPC与Protobuf的使用

    这篇文章主要介绍了golang 微服务之gRPC与Protobuf的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Go语言框架Beego项目搭建的方法步骤

    Go语言框架Beego项目搭建的方法步骤

    这篇文章主要介绍了Go语言框架Beego项目搭建的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 3个Go语言中实用重构技术分享

    3个Go语言中实用重构技术分享

    代码重构是在不改变外部功能的情况下对现有代码进行改进,是编程的核心部分之一,本文为大家介绍了Go语言中3个实用重构技术,需要的可以参考一下
    2023-06-06
  • go将request body绑定到不同的结构体中教程

    go将request body绑定到不同的结构体中教程

    这篇文章主要为大家介绍了go将request body绑定到不同的结构体中教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10

最新评论