登录
首页 >  Golang >  Go问答

在使用供应商目录中的本地依赖项时遇到编译问题

来源:stackoverflow

时间:2024-03-05 21:54:30 455浏览 收藏

本篇文章给大家分享《在使用供应商目录中的本地依赖项时遇到编译问题》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

构建(失败):

go111module=off go build -o diameter
[pceuser@pincb-brm02 src]$ echo $gopath 

/home/pceuser/策略控制引擎

[pceuser@pincb-brm02 src]$ pwd

/home/pceuser/policy-control-engine/src

[pceuser@pincb-brm02 src]$ ls

backupgx config.go data.csv go.mod gx.go model.go 自述文件 redis_test.go stats.go ccr.go config.yml 直径 go.sum makefile pcediam redis.go server.go 供应商

[pceuser@pincb-brm02 src]$ cd vendor
[pceuser@pincb-brm02 vendor]$ ls

github.com golang.org gopkg.in module.txt

构建错误:

ccr.go:8:2: cannot find package
"github.com/fiorix/go-diameter/v4/diam" in any of:
    /usr/local/go/src/github.com/fiorix/go-diameter/v4/diam (from
$GOROOT)
    /home/pceuser/policy-control-engine/src/github.com/fiorix/go-diameter/v4/diam
(from $GOPATH)

ccr.go:9:2: cannot find package
"github.com/fiorix/go-diameter/v4/diam/avp" in any of:
    /usr/local/go/src/github.com/fiorix/go-diameter/v4/diam/avp (from
$GOROOT)
    /home/pceuser/policy-control-engine/src/github.com/fiorix/go-diameter/v4/diam/avp
(from $GOPATH)

gx.go:11:2: cannot find package
"github.com/fiorix/go-diameter/v4/diam/datatype" in any of:
    /usr/local/go/src/github.com/fiorix/go-diameter/v4/diam/datatype
(from $GOROOT)
    /home/pceuser/policy-control-engine/src/github.com/fiorix/go-diameter/v4/diam/datatype
(from $GOPATH)

ccr.go:6:2: cannot find package
"github.com/fiorix/go-diameter/v4/diam/sm" in any of:
    /usr/local/go/src/github.com/fiorix/go-diameter/v4/diam/sm (from
$GOROOT)
    /home/pceuser/policy-control-engine/src/github.com/fiorix/go-diameter/v4/diam/sm
(from $GOPATH)

redis.go:6:2: cannot find package "github.com/go-redis/redis" in any
of:     /usr/local/go/src/github.com/go-redis/redis (from $GOROOT)
    /home/pceuser/policy-control-engine/src/github.com/go-redis/redis
(from $GOPATH)

config.go:6:9: cannot find package "gopkg.in/yaml.v2" in any of:
    /usr/local/go/src/gopkg.in/yaml.v2 (from $GOROOT)
    /home/pceuser/policy-control-engine/src/gopkg.in/yaml.v2 (from
$GOPATH)

注意:我在 https://github.com/fiorix/go-diameter 中做了一些更改 供应商依赖文件夹,但我仍然无法编译它。


解决方案


如果您在 gopath 之外并且不使用 go 模块 并且仍然尝试使用 vendor 文件夹来编译您的项目,则值得尝试:

go build -mod=vendor

这可以防止在全局 gopath 中查找依赖项,并将直接从 vendor 文件夹加载依赖项。

理论要掌握,实操不能落!以上关于《在使用供应商目录中的本地依赖项时遇到编译问题》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>