执行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实现简易比特币区块链公链功能

    使用go实现简易比特币区块链公链功能

    这篇文章主要介绍了使用go实现简易比特币区块链公链功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • golang中可触发panic的几种情况汇总

    golang中可触发panic的几种情况汇总

    在Go语言中,panic是一种运行时错误处理机制,当程序遇到无法恢复的严重错误时会触发panic,本文就来详细的介绍一下golang中可触发panic的几种情况,感兴趣的可以了解一下
    2025-11-11
  • Go 中 time.After 可能导致的内存泄露问题解析

    Go 中 time.After 可能导致的内存泄露问题解析

    这篇文章主要介绍了Go 中 time.After 可能导致的内存泄露,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • 从入门到精通:Go语言XML数据解析指南

    从入门到精通:Go语言XML数据解析指南

    Go语言的XML包提供了强大的数据解析功能,让你轻松处理各种XML格式的数据,这个指南将带你深入了解如何使用Go语言的XML包,快速上手XML数据解析,准备好开启XML解析之旅了吗?Let's Go!
    2024-03-03
  • Go语言Gin处理响应方式详解

    Go语言Gin处理响应方式详解

    gin框架封装了常用的数据格式方法响应于客户端,下面这篇文章主要给大家介绍了关于Go语言Gin处理响应方式的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • Go语言kube-scheduler深度剖析开发之scheduler初始化

    Go语言kube-scheduler深度剖析开发之scheduler初始化

    这篇文章主要介绍了Go语言kube-scheduler深度剖析开发之scheduler初始化实现过程示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • Golang 如何实现函数的任意类型传参

    Golang 如何实现函数的任意类型传参

    这篇文章主要介绍了Golang 实现函数的任意类型传参操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • golang实现ftp功能简单又实用(示例代码)

    golang实现ftp功能简单又实用(示例代码)

    本文介绍了如何使用Go语言实现FTP功能,包括加载配置文件和处理FTP部分,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-12-12
  • 深入探讨Go语言中的内存分配策略从堆到栈

    深入探讨Go语言中的内存分配策略从堆到栈

    内存管理是一个持续优化的过程,需要开发者在实际开发中不断积累经验,根据具体场景选择合适的内存分配策略,本文将深入探讨Go语言中的内存分配策略,从堆到栈的工作原理,以及如何优化内存使用,帮助开发者写出更高效、更稳定的Go程序
    2026-05-05
  • Golang获取本地IP地址方法分享

    Golang获取本地IP地址方法分享

    这篇文章主要给大家介绍了Golang 获取本地 IP 地址方法,文中有详细的代码示例,对我们的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-07-07

最新评论