如何在 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
目录下。
我使用 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
目录下。