Ошибка компиляции при использовании локальных зависимостей из каталога vendor - PullRequest
0 голосов
/ 04 апреля 2020

Build (Fails):

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

/ home / pceuser / policy-control-engine

[pceuser@pincb-brm02 src]$ pwd

/ home / pceuser / engine-control-engine / sr c

[pceuser@pincb-brm02 src]$ ls

backupgx config. go data.csv go .mod gx. go модель. go README redis_test. go stats. go ccr. go config.yml диаметр go .sum Makefile pcediam redis. go сервер. go vendor

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

github.com golang .org gopkg.in modules.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 в моей папке зависимостей от поставщика, но я не могу скомпилировать ее.

1 Ответ

0 голосов
/ 04 апреля 2020

Если вы находитесь за пределами GOPATH и не используете go modules и все еще пытаетесь скомпилировать свой проект с помощью папки vendor, стоит попробовать:

go build -mod=vendor

Это предотвращает поиск зависимостей в глобальном GOPATH и загрузит ваши зависимости прямо из папки vendor.

...