Как установить Джин с Golang - PullRequest
       40

Как установить Джин с Golang

0 голосов
/ 08 апреля 2020

Я новичок ie на Golang, и я пытаюсь использовать Gin для разработки веб-сервера на Ubuntu 16.04.

После выполнения 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/.

Как я мог решить эту проблему?

Ответы [ 2 ]

1 голос
/ 08 апреля 2020

Для 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 содержит ожидаемые криптографические c хэши каждой версии модуля.

После этого команда go run example.go должна запустить программу без проблем.


You Вы даже можете продавать модули в каталоге вашего проекта:

go mod vendor

Это приведет всех поставщиков в каталог проектов /vendor, так что вам не нужно снова получать модули, если вы работаете с другого компьютера на этот проект.

0 голосов
/ 08 апреля 2020

Из ошибки вы можете видеть, что GOPATH - это ваш '/ home / zyh / go', а не ваш ~ / go. и вы можете запустить shell go env, чтобы подтвердить, где находится ваш GOPATH? затем измените его.

...