admin管理员组

文章数量:1612097

golang使用Gin框架搭建服务器时报错go.mod file not found in current directory or any parent directory 找不到对应的包

原因:没有生成go.mod文件

在解决问题之前,确保系统环境变量有如下设置

流程分析

编写test.go文件

package main

import (
	"github/gin-gonic/gin"
)

func sayhello(c *gin.Context) {
	c.JSON(200, gin.H{
		"message": "hello golang",
	})
}

func main() {
	r := gin.Default()

	r.GET("/hello", sayhello)

	r.Run(":8080")
}

运行时,报错go.mod file not found in current directory or any parent directory,这是由于缺少go.mod文件导致的。

查看错误提示如下:

-----这是由于我们使用了go module方式实现依赖,由于设置了环境变量GO111MODULE=on,所以编译器会自动忽略gopath目录下的包,同时又没有go.mod文件配置相关的导入包,所以编译器报错找不到"github/gin-gonic/gin"。

解决方法如下:
①win+R 打开cmd进入到test.go所在的文件目录下

②输入go mod init +“文件名称”,例子中文件名称为test.go,所以我们输入go mod init test回车运行后会在当前目录下生成一个go.mod文件


方法一:打开cmd,进入到test.go的文件目录下,输入go get github/gin-gonic/gin回车运行,会再次生成一个go.sum文件(此方法适用于还未下载gin包到pkg目录下的情况,当然,如果已经下载过,此方法也适用)

方法二:打开cmd,在test.go文件的当前目录下输入go mod tidy(此方法适用于已经将gin包下载到pkg文件夹中)

go.sum文件如下:

③之后,再次回到编译器运行hello.go文件

无报错,服务器成功打开,打开网页进行测试:


服务器正常运行,问题解决

结尾相关

如果想要详细了解gin框架相关的内容以及go mod和go sum等知识,可以阅览,https://blog.csdn/weixin_48860459/article/details/106954017

本文标签: 框架时报服务器ginGolang