如何从供应商那里导入包?

How make go import packages from vendor?

我正在检查 go with glide 中的供应商功能。安装所有包真是太棒了,但我无法通过 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,我使用的go版本是1.7,我的GOPATH是/home/joaonrb/.projects/go-blog

您的 GOPATH 结构似乎无效。做你想做的事:

  • 创建一个 "project" 文件夹,例如$GOPATH/src/myproj.
  • 把你的 main.go 放在那里。
  • 在那里创建一个供应商文件夹,例如$GOPATH/src/myproj/vendor.
  • github.com/valyala/fasthttp放在那里。

应该可以。