【问题标题】:How to use custom package with glide如何在 glide 中使用自定义包
【发布时间】:2017-07-31 08:06:07
【问题描述】:

我使用 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   

long 包在 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 run main.go 时报错: can not found package long 。 如果我将长包放入 vendor/ 然后 向上滑动
它将显示无法检测有关“长”依赖项的 vcs。但可以与项目一起运行。
所以我想知道如何设置滑翔将跳过长包检测并且项目可以运行。

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

【问题讨论】:

  • 你能显示你导入 long 包的行吗?是不是像import "go_test/long"
  • 在 main.go 文件中。
  • 如上你看到的,在main.go文件中,如果放入vendor,就可以运行了。但滑翔会说无法检测关于长包的vcs。
  • 所以你应该使用"go_test/long" 而不是"long"
  • 并且它不能在你的供应商目录中

标签: go glide-golang


【解决方案1】:

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

【讨论】:

  • 非常完整的说明!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-09
  • 1970-01-01
  • 2021-01-17
  • 2018-04-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多