供应商目录未用于解决go build上的导入

时间:2016-10-05 02:48:56

标签: go dependency-management glide-golang

我正在重新学习Go。我使用gvm安装了最新的Go版本(1.7.1),我希望使用gin构建一个简单的rest api应用。我使用glide get https://github.com/gin-gonic/ginglide)安装了它,并在我的项目根目录上创建了“vendor”文件夹。虽然运行了我的应用go run main.go,但我遇到了这个错误

main.go:3:8: cannot find package "github.com/gin-gonic/gin" in any of:
    /home/yowmamasita/.gvm/gos/go1.6.3/src/github.com/gin-gonic/gin (from $GOROOT)
    /home/yowmamasita/.gvm/pkgsets/go1.6.3/global/src/github.com/gin-gonic/gin (from $GOPATH)

它没有解决刚刚创建的“供应商”目录滑动

.
├── glide.lock
├── glide.yaml
├── main.go
├── README.md
└── vendor
    └── github.com
        └── gin-gonic
            └── gin

不确定这里发生了什么,我认为在1.5之后,它应该能够解决从“供应商”目录的导入而不做任何事情。我甚至在我的$GOPATH

上添加了我的项目文件夹

/home/yowmamasita/.gvm/pkgsets/go1.7.1/global:/home/yowmamasita/goprojects

我在这里做错了什么?我也尝试了1.6.3并且得到了同样的错误。

1 个答案:

答案 0 :(得分:2)

请确保:

  1. 将工作区(/home/yowmamasita/goprojects)添加到$GOPATH变量。
  2. 通常在工作区下面会有三个目录binpkgsrcMore details
  3. 您可以省略pkgbin,但使用vendor个套餐或自定义套餐的项目必须放在$GOPATH/src下,否则go编译器不会识别它。
  4. 可以找到更多讨论herehere

    结构应如下所示:

     $GOPATH
     └── src
         └── YOURPROJECT1
                ├── source codes #1
                └── vendor/
    
         └── YOURPROJECT2
                ├── source codes #2
                └── vendor/