如何在 glide 中使用自定义包

How to use custom package with glide

我使用 golang Masterminds/glide 来管理包。这是我的项目:

$GOPATH/    
      bin/  
      pkg/
      src/
         go_test/
            long(own custom package: just print a "hello")  
            main.go  
            glide.yaml  
            vendor/  
                github.com/lib/pq   

长包用于 main.go 如:

 package main 
   import(
    "database/sql"
    "github.com/lib/pq"
    "long"
  )
  func main(
    ...
  }

glide.yaml 是:

package:  go_test
import:   
- package: github.com/lib/pq 

当 go 运行 main.go 错误是:找不到包 long 。 如果我把长包放到 vendor/ 然后 glide up
它将显示无法检测到有关 "long" 依赖项的 vcs。但可以 运行 与项目。
所以我想知道如何设置 glide 将跳过长包检测并且项目可以 运行 。

注意:我在 yaml 中使用了 ignore:。如果添加 long 忽略。项目将可以 运行 因为找不到 long 包。

因为正确的包名称是从项目中的 /src 目录开始的完整路径,所以您应该在 import 语句中使用 "go_test/long" 而不是 "long"。因为它是您自己的代码而不是供应商依赖项,所以它不能在 vendor 目录下。