【问题标题】:How make go import packages from vendor?如何从供应商处导入包?
【发布时间】:2016-09-16 14:39:39
【问题描述】:

我正在检查 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/src”的顶层有源文件。将您的main.go 移动到一个包目录中,然后从那里尝试go run
  • 谢谢。这解决了我的问题。

标签: go glide-golang


【解决方案1】:

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

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

应该可以的。

【讨论】:

  • 这样做了,错误几乎是一样的。它试图找到 $GOPATH/src/github.com/valyala/fasthttp 但包在 $GOPATH/go-blog/vendor/github.com/valyala/fasthttp
  • @joaonrb 应该是 $GOPATH/**src**/go-blog/vendor/github.com/valyala/fasthttp 查看我的编辑。
猜你喜欢
  • 2020-09-24
  • 1970-01-01
  • 2016-04-11
  • 1970-01-01
  • 2020-11-27
  • 1970-01-01
  • 2017-04-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多