我是 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/