linux - 如何使用 Golang 安装 Gin

标签 linux go module webserver go-gin

我是 Golang 的新手,我正在尝试使用 Gin在 Ubuntu 16.04 上开发 Web 服务器。

执行后go get -u github.com/gin-gonic/gin ,许多文件夹出现在 ~/go/pkg/mod/github.com/ .

然后我试着举个例子:

package main

import "github.com/gin-gonic/gin"

func main() {
    r := gin.Default()
    r.GET("/ping", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "pong",
        })
    })
    r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}

但是,go run example.go犯了错误:
example.go:3:8: cannot find package "github.com/gin-gonic/gin" in any of:
        /usr/local/go/src/github.com/gin-gonic/gin (from $GOROOT)
        /home/zyh/go/src/github.com/gin-gonic/gin (from $GOPATH)

在我的系统中,$GOROOT/usr/local/go/$GOPATH~/go/ .

我该如何解决这个问题?

最佳答案

对于 Go 版本 1.11 或更高版本,您应该使用 Go Modules .

如果您刚开始使用 Go,则应该从较新的版本开始。我认为您正在使用支持 go 模块的 Go 版本,因为您尝试获取的模块正在下载到 ~/go/pkg/mod/目录。

要使用 go 模块初始化项目,请运行:

go mod init your-project-name

这将创建一个 go.mod项目目录中的文件。

添加缺失和/或删除未使用的模块:
go mod tidy

这将填满 go.mod包含适当模块的文件并创建 go.sum在您的项目目录中。 go.sum 包含每个模块版本的预期加密哈希。

之后,go run example.go命令应该运行程序没有任何问题。

您甚至可以在项目目录中供应模块:
go mod vendor

这会将所有 vendor 带到您的项目中/vendor目录,这样如果在该项目的另一台机器上工作,您就不需要再次获取模块。

关于linux - 如何使用 Golang 安装 Gin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61091852/

相关文章:

linux - Grep 查找文件中的双正斜杠和星号

linux - 获取linux中的显卡信息(/proc文件系统)

python - 如何计算子进程发出的每个 UDP 数据包?

go - 去写入(按索引)到 slice 中超出索引的元素的惯用方法是什么?

arrays - 二维数组不同列大小

linux - "In-source builds are not allowed"在 cmake

go - 如何检查结构中是否存在结构值

javascript - 如何卸载 angularjs 模块

mysql - python3模块在哪里

javascript - 更改显示模块模式之外的可配置设置对象