繁体   English   中英

如何使用 Golang 安装 Gin

[英]How to install Gin with Golang

我是 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 模块

如果您只是从 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目录,这样如果在该项目的另一台机器上工作,您就不需要再次获取模块。

我意识到在添加一个名为gopls的 package 后,我的 IDE 工作正常。

使用 snap 安装goplssudo snap install gopls --classic

从错误中,您可以看到 GOPATH 是您的 '/home/zyh/go' 而不是您的 ~/go。 你可以运行 shell go env来确认你的 GOPATH 在哪里? 然后修改它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM