2016-09-16 4 views
4

Я проверял функцию поставщика, чтобы идти с глиссированием. Было здорово устанавливать все пакеты, но мне не удалось заставить команду go найти их в пакетах поставщиков.Как сделать импорт пакетов из поставщика?

go run src/main.go 

src/main.go:8:2: cannot find package "github.com/valyala/fasthttp" in any of: 
    /home/joaonrb/.software/lib/go/go1.7/src/github.com/valyala/fasthttp (from $GOROOT) 
    /home/joaonrb/.projects/go-blog/src/github.com/valyala/fasthttp (from $GOPATH) 

Fasthttp установлен в /home/joaonrb/.projects/go-blog/src/vendor/github.com/valyala/fasthttp, версия ходу я использую 1,7 и мой GOPATH является /home/joaonrb/.projects/go-blog

+0

У вас никогда не должно быть исходных файлов на верхнем уровне «$ GOPATH/src». Переместите свой 'main.go' в каталог пакетов и попробуйте' go run' оттуда там. – JimB

+0

Спасибо. Это решает мою проблему. – joaonrb

ответ

6

Ваша структура GOPATH не кажется действительным. Чтобы сделать то, что вы хотите:

  • Создайте папку "project", например. $GOPATH/src/myproj.
  • Поместите свой основной.go туда.
  • Создайте там папку поставщика, например. $GOPATH/src/myproj/vendor.
  • Путь github.com/valyala/fasthttp есть.

Это должно сработать.

+0

Это и ошибка в значительной степени совпадают. Он пытается найти $ GOPATH/src/github.com/valyala/fasthttp, но пакет находится в $ GOPATH/go-blog/vendor/github.com/valyala/fasthttp – joaonrb

+0

@joaonrb Он должен быть $ GOPATH/** src * */go-blog/vendor/github.com/valyala/fasthttp См. мое редактирование. –

Смежные вопросы