golang使用Gin框架搭建服务器时报错go.mod file not found in current directory or any parent directory 找不到对应的包
原因:没有生成go.mod文件
在解决问题之前,确保系统环境变量有如下设置
编写test.go文件
package main
import (
"github.com/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.com/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.com/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.net/weixin_48860459/article/details/106954017
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)