当前位置:网站首页>go踩坑——no required module provides package : go.mod file not found in current directory or any parent
go踩坑——no required module provides package : go.mod file not found in current directory or any parent
2022-07-04 23:16:00 【小明的笔记仓库】
背景
准备运行下面代码
package main
import (
"github.com/gin-gonic/gin"
)
func main() {
// 创建一个默认的路由引擎
r := gin.Default()
// GET:请求方式;/hello:请求的路径
// 当客户端以GET方法请求/hello路径时,会执行后面的匿名函数
r.GET("/hello", func(c *gin.Context) {
// c.JSON:返回JSON格式的数据
c.JSON(200, gin.H{
"message": "Hello world!",
})
})
// 启动HTTP服务,默认在0.0.0.0:8080启动服务
r.Run()
}
结果报错:
no required module provides package : go.mod file not found in current directory or any parent directory;
也就是说找不到导入模块的包
尝试1:
go get -u github.com/gin-gonic/gin
没有效果
尝试2:关于golang第三方包的引用报错:no required module provides package_编程哲学家的博客-CSDN博客
网上基本都是这个解决方案:执行:go env -w GO111MODULE=auto
但是我的已经打开了,所以排除这个解决方案。
尝试3:我又重新建了个项目,发现另一个运行时报错结果是:
1.go:4:2: no required module provides package github.com/gin-gonic/gin; to add it:
go get github.com/gin-gonic/gin
注意这两个报错的区别,这个提示了 go get github.com/gin-gonic/gin
说明原项目是缺少东西的,我对比了一下发现原项目代码所在的文件夹中缺少go.mod这个文件
通过研究Go go.mod详解_绛洞花主敏明的博客-CSDN博客_go.mod文件
得到了解决方案
解决方法
在报错的代码文件夹打开终端,运行
go mod init 新模块名字
就可以初始化go.mod,这样再运行
go get -u github.com/gin-gonic/gin
就OK了
总结
- Go.mod是Golang1.11版本新引入的官方包管理工具用于解决之前没有地方记录依赖包具体版本的问题,方便依赖包的管理。
- Go.mod其实就是一个Modules,关于Modules的官方定义为:Modules是相关Go包的集合,是源代码交换和版本控制的单元。go命令直接支持使用Modules,包括记录和解析对其他模块的依赖性。Modules替换旧的基于GOPATH的方法,来指定使用哪些源文件。
- Modules和传统的GOPATH不同,不需要包含例如src,bin这样的子目录,一个源代码目录甚至是空目录都可以作为Modules,只要其中包含有go.mod文件。
边栏推荐
- 微软禁用IE浏览器后,打开IE浏览器闪退解决办法
- Tweenmax emoticon button JS special effect
- JS card style countdown days
- Etcd database source code analysis - brief process of processing entry records
- Servlet服务器端和客户端中文输出乱码问题
- HMS core machine learning service
- After Microsoft disables the IE browser, open the IE browser to flash back the solution
- 初试为锐捷交换机跨设备型号升级版本(以RG-S2952G-E为例)
- [sword finger offer] questions 1-5
- Redis: redis transactions
猜你喜欢
45 year old professor, she threw two super unicorns
In the enterprise, win10 turns on BitLocker to lock the disk, how to back up the system, how to recover when the system has problems, and how to recover quickly while taking into account system securi
heatmap. JS picture hotspot heat map plug-in
Jar batch management gadget
为什么信息图会帮助你的SEO
JS card style countdown days
The small program vant tab component solves the problem of too much text and incomplete display
可观测|时序数据降采样在Prometheus实践复盘
Observable time series data downsampling practice in Prometheus
VIM editor knowledge summary
随机推荐
Combien de temps faut - il pour obtenir un certificat PMP?
推荐收藏:跨云数据仓库(data warehouse)环境搭建,这货特别干!
[ODX studio edit PDX] -0.3- how to delete / modify inherited elements in variant variants
Summary of wechat applet display style knowledge points
[kotlin] the third day
A complete tutorial for getting started with redis: understanding and using APIs
MP进阶操作: 时间操作, sql,querywapper,lambdaQueryWapper(条件构造器)快速筛选 枚举类
S32 Design Studio for ARM 2.2 快速入门
45岁教授,她投出2个超级独角兽
ECCV 2022 | Tencent Youtu proposed disco: the effect of saving small models in self supervised learning
LabVIEW中比较两个VI
S32 design studio for arm 2.2 quick start
【js】-【动态规划】-笔记
Question brushing guide public
Solve the problem that the virtual machine cannot be remotely connected through SSH service
Header file duplicate definition problem solving "c1014 error“
法国学者:最优传输理论下对抗攻击可解释性探讨
【ODX Studio編輯PDX】-0.2-如何對比Compare兩個PDX/ODX文件
头文件重复定义问题解决“C1014错误“
Redis:Redis消息的发布与订阅(了解)